]> git.saurik.com Git - apple/icu.git/commitdiff
ICU-59173.0.1.tar.gz macos-10134 v59173.0.1
authorApple <opensource@apple.com>
Wed, 15 Aug 2018 19:44:43 +0000 (19:44 +0000)
committerApple <opensource@apple.com>
Wed, 15 Aug 2018 19:44:43 +0000 (19:44 +0000)
36 files changed:
icuSources/common/brkiter.cpp
icuSources/common/ualoc.cpp
icuSources/data/curr/en_CN.txt [new file with mode: 0644]
icuSources/data/curr/en_TW.txt [new file with mode: 0644]
icuSources/data/curr/es_CA.txt [new file with mode: 0644]
icuSources/data/curr/es_US.txt
icuSources/data/curr/reslocal.mk
icuSources/data/lang/es.txt
icuSources/data/locales/ar.txt
icuSources/data/locales/en_CN.txt
icuSources/data/locales/en_TW.txt
icuSources/data/locales/es_CA.txt [new file with mode: 0644]
icuSources/data/locales/reslocal.mk
icuSources/data/misc/metaZones.txt
icuSources/data/misc/supplementalData.txt
icuSources/data/misc/windowsZones.txt
icuSources/data/misc/zoneinfo64.txt
icuSources/data/region/nl.txt
icuSources/data/unit/en_CN.txt
icuSources/data/unit/en_TW.txt
icuSources/data/unit/es_CA.txt [new file with mode: 0644]
icuSources/data/unit/it.txt
icuSources/data/unit/reslocal.mk
icuSources/data/zone/en_CN.txt [new file with mode: 0644]
icuSources/data/zone/en_TW.txt [new file with mode: 0644]
icuSources/data/zone/es_CA.txt [new file with mode: 0644]
icuSources/data/zone/reslocal.mk
icuSources/test/cintltst/cbiapts.c
icuSources/test/cintltst/cdattst.c
icuSources/test/cintltst/cloctst.c
icuSources/test/intltest/dtifmtts.cpp
icuSources/test/testdata/rbbitst.txt
icuSources/tools/tzcode/Makefile.in
icuSources/tools/tzcode/icuzones
icuSources/tools/tzcode/zdump.c
makefile

index 3f12be535d29637882c62b4155c01da1a0d3c496..fe4732a637107bb285527b160c3d89eaa125cb0e 100644 (file)
@@ -423,10 +423,7 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
             char lwKeyValue[kKeyValueLenMax] = {0};
             UErrorCode kvStatus = U_ZERO_ERROR;
             int32_t kLen = loc.getKeywordValue("lw", lwKeyValue, kKeyValueLenMax, kvStatus);
             char lwKeyValue[kKeyValueLenMax] = {0};
             UErrorCode kvStatus = U_ZERO_ERROR;
             int32_t kLen = loc.getKeywordValue("lw", lwKeyValue, kKeyValueLenMax, kvStatus);
-            UBool keepAll = (U_SUCCESS(kvStatus) && kLen > 0)?
-                (uprv_strcmp(lwKeyValue,"keepall")==0): // if keyword specified, depends on keyword
-                (uprv_strcmp(loc.getLanguage(),"ko")==0); // otherwise for "ko", default is keepall per rdar://23224717
-            result->setKeepAll(keepAll);
+            result->setKeepAll(U_SUCCESS(kvStatus) && kLen > 0 && uprv_strcmp(lwKeyValue,"keepall")==0);
         }
         break;
     case UBRK_SENTENCE:
         }
         break;
     case UBRK_SENTENCE:
index 1458531ad26763bdde0361dfd1cab4bf6d9a8bd4..ffc23e7ea1a4067718e4142d6ef25680b1f36dc3 100644 (file)
@@ -1,6 +1,6 @@
 /*
 *****************************************************************************************
 /*
 *****************************************************************************************
-* Copyright (C) 2014-2016 Apple Inc. All Rights Reserved.
+* Copyright (C) 2014-2017 Apple Inc. All Rights Reserved.
 *****************************************************************************************
 */
 
 *****************************************************************************************
 */
 
@@ -9,6 +9,7 @@
 #include <stdio.h>
 #endif
 #include <string.h>
 #include <stdio.h>
 #endif
 #include <string.h>
+#include <ctype.h>
 #include "unicode/utypes.h"
 #include "unicode/ualoc.h"
 #include "unicode/uloc.h"
 #include "unicode/utypes.h"
 #include "unicode/ualoc.h"
 #include "unicode/uloc.h"
@@ -1015,9 +1016,11 @@ ualoc_localizationsToUse( const char* const *preferredLanguages,
                 for (availLocIndex = 0; availLocIndex < availableLocalizationsCount; availLocIndex++) {
                     char availLocMinOrParent[kLangScriptRegMaxLen + 1];
                     int32_t distance;
                 for (availLocIndex = 0; availLocIndex < availableLocalizationsCount; availLocIndex++) {
                     char availLocMinOrParent[kLangScriptRegMaxLen + 1];
                     int32_t distance;
-                    // first check for special Apple parents of availLocNorm -
-                    // - the number of locales with such parents is small -
-                    // or if not such parent, then try stripping region.
+                    // first check for special Apple parents of availLocNorm; the number
+                    // of locales with such parents is small.
+                    // If no such parent, or if parent has an intermediate numeric region,
+                    // then try stripping the original region.
+                    int32_t availLocParentLen = 0;
                     const char *availLocParent = getLocParent(availLocNorm[availLocIndex], &distance);
                     if (availLocParent) {
 #if DEBUG_UALOC
                     const char *availLocParent = getLocParent(availLocNorm[availLocIndex], &distance);
                     if (availLocParent) {
 #if DEBUG_UALOC
@@ -1032,11 +1035,12 @@ ualoc_localizationsToUse( const char* const *preferredLanguages,
 #endif
                             continue;
                         }
 #endif
                             continue;
                         }
+                        availLocParentLen = uprv_strlen(availLocParent);
                     }
                     if (minDistance <= 1) {
                         continue; // we can't get any closer in the rest of this iteration
                     }
                     }
                     if (minDistance <= 1) {
                         continue; // we can't get any closer in the rest of this iteration
                     }
-                    if (availLocParent == NULL) {
+                    if (availLocParent == NULL || (availLocParentLen >= 6 && isdigit(availLocParent[availLocParentLen-1]))) {
                         tmpStatus = U_ZERO_ERROR;
                         int32_t regLen = uloc_getCountry(availLocNorm[availLocIndex], availLocMinOrParent, kLangScriptRegMaxLen, &tmpStatus);
                         if (U_SUCCESS(tmpStatus) && regLen > 1) {
                         tmpStatus = U_ZERO_ERROR;
                         int32_t regLen = uloc_getCountry(availLocNorm[availLocIndex], availLocMinOrParent, kLangScriptRegMaxLen, &tmpStatus);
                         if (U_SUCCESS(tmpStatus) && regLen > 1) {
diff --git a/icuSources/data/curr/en_CN.txt b/icuSources/data/curr/en_CN.txt
new file mode 100644 (file)
index 0000000..c521518
--- /dev/null
@@ -0,0 +1,23 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+en_CN{
+    Currencies{
+        CNY{
+            "¥",
+            "Chinese Yuan",
+        }
+        JPY{
+            "JP¥",
+            "Japanese Yen",
+        }
+        KRW{
+            "₩",
+            "South Korean Won",
+        }
+        USD{
+            "US$",
+            "US Dollar",
+        }
+    }
+    Version{"2.1.32.59"}
+}
diff --git a/icuSources/data/curr/en_TW.txt b/icuSources/data/curr/en_TW.txt
new file mode 100644 (file)
index 0000000..e9631e0
--- /dev/null
@@ -0,0 +1,19 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+en_TW{
+    Currencies{
+        KRW{
+            "₩",
+            "South Korean Won",
+        }
+        TWD{
+            "$",
+            "New Taiwan Dollar",
+        }
+        USD{
+            "US$",
+            "US Dollar",
+        }
+    }
+    Version{"2.1.32.59"}
+}
diff --git a/icuSources/data/curr/es_CA.txt b/icuSources/data/curr/es_CA.txt
new file mode 100644 (file)
index 0000000..7eb9b25
--- /dev/null
@@ -0,0 +1,12 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+es_CA{
+    %%Parent{"es_419"}
+    Currencies{
+        CAD{
+            "$",
+            "dólar canadiense",
+        }
+    }
+    Version{"2.1.31.74"}
+}
index fb2d4fcf9fb10393e87983a855490b9da6c1a736..3ea388a9908c8d2233eb137bbfac3e30641a7504 100644 (file)
@@ -3,6 +3,18 @@
 es_US{
     %%Parent{"es_419"}
     Currencies{
 es_US{
     %%Parent{"es_419"}
     Currencies{
+        CAD{
+            "CA$",
+            "dólar canadiense",
+        }
+        EUR{
+            "€",
+            "euro",
+        }
+        GBP{
+            "£",
+            "libra británica",
+        }
         JPY{
             "¥",
             "yen",
         JPY{
             "¥",
             "yen",
index 973dada812d550db2ccee971bac8e47f9a00223a..bd479b9636a0ff993073fd8908735dd87fe955fe 100644 (file)
@@ -6,13 +6,13 @@
 CURR_SOURCE_LOCAL = iu.txt ms_Arab.txt ms_Arab_BN.txt\
        tg.txt tk.txt\
        en_AD.txt en_AL.txt en_BA.txt en_BD.txt en_BG.txt\
 CURR_SOURCE_LOCAL = iu.txt ms_Arab.txt ms_Arab_BN.txt\
        tg.txt tk.txt\
        en_AD.txt en_AL.txt en_BA.txt en_BD.txt en_BG.txt\
-       en_BR.txt en_CZ.txt en_EE.txt en_ES.txt en_FR.txt\
+       en_BR.txt en_CN.txt en_CZ.txt en_EE.txt en_ES.txt en_FR.txt\
        en_GR.txt en_HR.txt en_HU.txt en_ID.txt en_IS.txt\
        en_IT.txt en_JP.txt en_LT.txt en_LU.txt en_LV.txt\
        en_ME.txt en_MV.txt en_NO.txt en_PL.txt en_PT.txt\
        en_GR.txt en_HR.txt en_HU.txt en_ID.txt en_IS.txt\
        en_IT.txt en_JP.txt en_LT.txt en_LU.txt en_LV.txt\
        en_ME.txt en_MV.txt en_NO.txt en_PL.txt en_PT.txt\
-       en_RO.txt en_RU.txt en_SK.txt en_TH.txt en_TR.txt\
+       en_RO.txt en_RU.txt en_SK.txt en_TH.txt en_TR.txt en_TW.txt\
        es_AG.txt es_AI.txt es_AW.txt es_BB.txt es_BL.txt\
        es_AG.txt es_AI.txt es_AW.txt es_BB.txt es_BL.txt\
-       es_BM.txt es_BQ.txt es_BS.txt es_CW.txt es_DM.txt\
+       es_BM.txt es_BQ.txt es_BS.txt es_CA.txt es_CW.txt es_DM.txt\
        es_FK.txt es_GD.txt es_GF.txt es_GL.txt es_GP.txt\
        es_GY.txt es_HT.txt es_KN.txt es_KY.txt es_LC.txt\
        es_MF.txt es_MQ.txt es_MS.txt es_PM.txt es_SR.txt\
        es_FK.txt es_GD.txt es_GF.txt es_GL.txt es_GP.txt\
        es_GY.txt es_HT.txt es_KN.txt es_KY.txt es_LC.txt\
        es_MF.txt es_MQ.txt es_MS.txt es_PM.txt es_SR.txt\
index 0ab025056feabf6b3855e96c214265845e04e1a0..1835a7b05e60e313aac5c31c41d09bb0cc43cccd 100644 (file)
@@ -46,7 +46,7 @@ es{
         arc{"arameo"}
         arn{"mapuche"}
         arp{"arapaho"}
         arc{"arameo"}
         arn{"mapuche"}
         arp{"arapaho"}
-        ars{"árabe najdi"}
+        ars{"árabe najdí"}
         arw{"arahuaco"}
         as{"asamés"}
         asa{"asu"}
         arw{"arahuaco"}
         as{"asamés"}
         asa{"asu"}
index 3d27e169ecaf720cbeca7c885825c8f9a25097d4..b295752e1e639e995a4bf199ba616cbef32374e5 100644 (file)
@@ -1309,7 +1309,7 @@ ar{
                 }
                 MMMd{
                     M{"d MMM – d MMM"}
                 }
                 MMMd{
                     M{"d MMM – d MMM"}
-                    d{"MMM d–d"}
+                    d{"d–d MMM"}
                 }
                 Md{
                     M{"d MMM – d MMM"}
                 }
                 Md{
                     M{"d MMM – d MMM"}
index 72e7f072f2540a72b42b5b8596e4d5e221d73c63..b0706cb2d3b2ab17ed61e6aba567df0c1f3bbaf4 100755 (executable)
@@ -5,6 +5,124 @@
 // *
 // ***************************************************************************
 en_CN{
 // *
 // ***************************************************************************
 en_CN{
-    %%Parent{"en_001"}
     Version{"2.1.19.14"}
     Version{"2.1.19.14"}
+    calendar{
+        chinese{
+            DateTimePatterns{
+                "h:mm:ss a zzzz",
+                "h:mm:ss a z",
+                "h:mm:ss a",
+                "h:mm a",
+                "EEEE, MMMM d, r(U)",
+                "MMMM d, r(U)",
+                "MMM d, r",
+                "r/M/d",
+                "{1}, {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1}, {0}",
+            }
+            availableFormats{
+                UM{"U/M"}
+                UMd{"U/M/d"}
+                yMd{"r/M/d"}
+                yyyyM{"r/M"}
+                yyyyMEd{"E, r/M/d"}
+                yyyyMd{"r/M/d"}
+            }
+            intervalFormats{
+                yM{
+                    M{"r/M – r/M"}
+                    y{"r/M – r/M"}
+                }
+                yMEd{
+                    M{"E, r/M/d – E, r/M/d"}
+                    d{"E, r/M/d – E, r/M/d"}
+                    y{"E, r/M/d – E, r/M/d"}
+                }
+                yMd{
+                    M{"r/M/d – r/M/d"}
+                    d{"r/M/d – r/M/d"}
+                    y{"r/M/d – r/M/d"}
+                }
+            }
+        }
+        generic{
+            DateTimePatterns{
+                "h:mm:ss a zzzz",
+                "h:mm:ss a z",
+                "h:mm:ss a",
+                "h:mm a",
+                "EEEE, MMMM d, y G",
+                "MMMM d, y G",
+                "MMM d, y G",
+                "GGGGG y/M/d",
+                "{1}, {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1}, {0}",
+            }
+            availableFormats{
+                yyyyM{"GGGGG y/M"}
+                yyyyMEd{"GGGGG y/M/d, E"}
+                yyyyMd{"GGGGG y/M/d"}
+            }
+            intervalFormats{
+                yM{
+                    M{"GGGGG y/M – y/M"}
+                    y{"GGGGG y/M – y/M"}
+                }
+                yMEd{
+                    M{"GGGGG y/M/d, E – y/M/d, E"}
+                    d{"GGGGG y/M/d, E – y/M/d, E"}
+                    y{"GGGGG y/M/d, E – y/M/d, E"}
+                }
+                yMd{
+                    M{"GGGGG y/M/d – y/M/d"}
+                    d{"GGGGG y/M/d – y/M/d"}
+                    y{"GGGGG y/M/d – y/M/d"}
+                }
+            }
+        }
+        gregorian{
+            DateTimePatterns{
+                "h:mm:ss a zzzz",
+                "h:mm:ss a z",
+                "h:mm:ss a",
+                "h:mm a",
+                "EEEE, MMMM d, y",
+                "MMMM d, y",
+                "MMM d, y",
+                "y/M/d",
+                "{1}, {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1}, {0}",
+            }
+            availableFormats{
+                yM{"y/M"}
+                yMEd{"y/M/d, E"}
+                yMd{"y/M/d"}
+            }
+            intervalFormats{
+                yM{
+                    M{"y/M – y/M"}
+                    y{"y/M – y/M"}
+                }
+                yMEd{
+                    M{"y/M/d, E – y/M/d, E"}
+                    d{"y/M/d, E – y/M/d, E"}
+                    y{"y/M/d, E – y/M/d, E"}
+                }
+                yMd{
+                    M{"y/M/d – y/M/d"}
+                    d{"y/M/d – y/M/d"}
+                    y{"y/M/d – y/M/d"}
+                }
+            }
+        }
+    }
 }
 }
index 08884377d65c44f64a6e9bc7bb47c1ef310d3aec..8f8980bb728fa4510607fbf26b5be119f5a53795 100755 (executable)
@@ -5,6 +5,124 @@
 // *
 // ***************************************************************************
 en_TW{
 // *
 // ***************************************************************************
 en_TW{
-    %%Parent{"en_001"}
     Version{"2.1.19.14"}
     Version{"2.1.19.14"}
+    calendar{
+        chinese{
+            DateTimePatterns{
+                "h:mm:ss a zzzz",
+                "h:mm:ss a z",
+                "h:mm:ss a",
+                "h:mm a",
+                "EEEE, MMMM d, r(U)",
+                "MMMM d, r(U)",
+                "MMM d, r",
+                "r/M/d",
+                "{1}, {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1}, {0}",
+            }
+            availableFormats{
+                UM{"U/M"}
+                UMd{"U/M/d"}
+                yMd{"r/M/d"}
+                yyyyM{"r/M"}
+                yyyyMEd{"E, r/M/d"}
+                yyyyMd{"r/M/d"}
+            }
+            intervalFormats{
+                yM{
+                    M{"r/M – r/M"}
+                    y{"r/M – r/M"}
+                }
+                yMEd{
+                    M{"E, r/M/d – E, r/M/d"}
+                    d{"E, r/M/d – E, r/M/d"}
+                    y{"E, r/M/d – E, r/M/d"}
+                }
+                yMd{
+                    M{"r/M/d – r/M/d"}
+                    d{"r/M/d – r/M/d"}
+                    y{"r/M/d – r/M/d"}
+                }
+            }
+        }
+        generic{
+            DateTimePatterns{
+                "h:mm:ss a zzzz",
+                "h:mm:ss a z",
+                "h:mm:ss a",
+                "h:mm a",
+                "EEEE, MMMM d, y G",
+                "MMMM d, y G",
+                "MMM d, y G",
+                "GGGGG y/M/d",
+                "{1}, {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1}, {0}",
+            }
+            availableFormats{
+                yyyyM{"GGGGG y/M"}
+                yyyyMEd{"GGGGG y/M/d, E"}
+                yyyyMd{"GGGGG y/M/d"}
+            }
+            intervalFormats{
+                yM{
+                    M{"GGGGG y/M – y/M"}
+                    y{"GGGGG y/M – y/M"}
+                }
+                yMEd{
+                    M{"GGGGG y/M/d, E – y/M/d, E"}
+                    d{"GGGGG y/M/d, E – y/M/d, E"}
+                    y{"GGGGG y/M/d, E – y/M/d, E"}
+                }
+                yMd{
+                    M{"GGGGG y/M/d – y/M/d"}
+                    d{"GGGGG y/M/d – y/M/d"}
+                    y{"GGGGG y/M/d – y/M/d"}
+                }
+            }
+        }
+        gregorian{
+            DateTimePatterns{
+                "h:mm:ss a zzzz",
+                "h:mm:ss a z",
+                "h:mm:ss a",
+                "h:mm a",
+                "EEEE, MMMM d, y",
+                "MMMM d, y",
+                "MMM d, y",
+                "y/M/d",
+                "{1}, {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1} 'at' {0}",
+                "{1}, {0}",
+            }
+            availableFormats{
+                yM{"y/M"}
+                yMEd{"y/M/d, E"}
+                yMd{"y/M/d"}
+            }
+            intervalFormats{
+                yM{
+                    M{"y/M – y/M"}
+                    y{"y/M – y/M"}
+                }
+                yMEd{
+                    M{"y/M/d, E – y/M/d, E"}
+                    d{"y/M/d, E – y/M/d, E"}
+                    y{"y/M/d, E – y/M/d, E"}
+                }
+                yMd{
+                    M{"y/M/d – y/M/d"}
+                    d{"y/M/d – y/M/d"}
+                    y{"y/M/d – y/M/d"}
+                }
+            }
+        }
+    }
 }
 }
diff --git a/icuSources/data/locales/es_CA.txt b/icuSources/data/locales/es_CA.txt
new file mode 100644 (file)
index 0000000..873e0f2
--- /dev/null
@@ -0,0 +1,279 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+es_CA{
+    %%Parent{"es_419"}
+    NumberElements{
+        latn{
+            patternsShort{
+                decimalFormat{
+                    1000{
+                        one{"0"}
+                        other{"0"}
+                    }
+                    10000{
+                        one{"00k"}
+                        other{"00k"}
+                    }
+                    100000{
+                        one{"000k"}
+                        other{"000k"}
+                    }
+                }
+            }
+        }
+    }
+    Version{"2.1.31.74"}
+    calendar{
+        generic{
+            DateTimePatterns{
+                "h:mm:ss a zzzz",
+                "h:mm:ss a z",
+                "h:mm:ss a",
+                "h:mm a",
+                "EEEE, d 'de' MMMM 'de' y G",
+                "d 'de' MMMM 'de' y G",
+                "MMM d, y G",
+                "GGGGG y-MM-dd",
+                "{1} {0}",
+                "{1}, {0}",
+                "{1}, {0}",
+                "{1} {0}",
+                "{1} {0}",
+            }
+            availableFormats{
+                GyMMM{"MMM y G"}
+                GyMMMEd{"E, MMM d, y G"}
+                GyMMMM{"MMMM 'de' y G"}
+                GyMMMMEd{"E, d 'de' MMMM 'de' y G"}
+                GyMMMMd{"d 'de' MMMM 'de' y G"}
+                GyMMMd{"MMM d, y G"}
+                MEd{"E, MM-dd"}
+                MMMEd{"E, MMM d"}
+                MMMMEd{"E, d 'de' MMMM"}
+                MMMMd{"d 'de' MMMM"}
+                MMMd{"MMM d"}
+                Md{"MM-dd"}
+                yyyyM{"GGGGG y-MM"}
+                yyyyMEd{"E, GGGGG y-MM-dd"}
+                yyyyMMM{"MMM y G"}
+                yyyyMMMEd{"E, MMM d, y G"}
+                yyyyMMMM{"MMMM 'de' y G"}
+                yyyyMMMMEd{"E, d 'de' MMMM 'de' y G"}
+                yyyyMMMMd{"d 'de' MMMM 'de' y G"}
+                yyyyMMMd{"MMM d, y G"}
+                yyyyMd{"GGGGG y-MM-dd"}
+            }
+            intervalFormats{
+                MEd{
+                    M{"E, MM-dd – E, MM-dd"}
+                    d{"E, MM-dd – E, MM-dd"}
+                }
+                MMMEd{
+                    M{"E, MMM d – E, MMM d"}
+                    d{"E, MMM d – E, MMM d"}
+                }
+                MMMMEd{
+                    M{"E, d 'de' MMMM – E, d 'de' MMMM"}
+                    d{"E, d 'de' MMMM – E, d 'de' MMMM"}
+                }
+                MMMMd{
+                    M{"d 'de' MMMM – d 'de' MMMM"}
+                    d{"d – d 'de' MMMM"}
+                }
+                MMMd{
+                    M{"MMM d – MMM d"}
+                    d{"MMM d – d"}
+                }
+                Md{
+                    M{"MM-dd – MM-dd"}
+                    d{"MM-dd – MM-dd"}
+                }
+                yM{
+                    M{"GGGGG y-MM – y-MM"}
+                    y{"GGGGG y-MM – y-MM"}
+                }
+                yMEd{
+                    M{"E, y-MM-dd – E, y-MM-dd"}
+                    d{"E, y-MM-dd – E, y-MM-dd"}
+                    y{"E, y-MM-dd – E, y-MM-dd"}
+                }
+                yMMM{
+                    M{"MMM – MMM y G"}
+                    y{"MMM y – MMM y G"}
+                }
+                yMMMEd{
+                    M{"E, MMM d – E, MMM d, y G"}
+                    d{"E, MMM d – E, MMM d, y G"}
+                    y{"E, MMM d, y – E, MMM d, y G"}
+                }
+                yMMMM{
+                    M{"MMMM – MMMM 'de' y G"}
+                    y{"MMMM 'de' y – MMMM 'de' y G"}
+                }
+                yMMMMEd{
+                    M{"E, d 'de' MMMM – E, d 'de' MMMM 'de' y G"}
+                    d{"E, d 'de' MMMM – E, d 'de' MMMM 'de' y G"}
+                    y{"E, d 'de' MMMM 'de' y – E, d 'de' MMMM 'de' y G"}
+                }
+                yMMMMd{
+                    M{"d 'de' MMMM – d 'de' MMMM y G"}
+                    d{"d – d 'de' MMMM 'de' y G"}
+                    y{"d 'de' MMMM 'de' y – d 'de' MMMM 'de' y G"}
+                }
+                yMMMd{
+                    M{"MMM d – MMM d, y G"}
+                    d{"MMM d – d, y G"}
+                    y{"MMM d, y – MMM d, y G"}
+                }
+                yMd{
+                    M{"GGGGG y-MM-dd – y-MM-dd"}
+                    d{"GGGGG y-MM-dd – y-MM-dd"}
+                    y{"GGGGG y-MM-dd – y-MM-dd"}
+                }
+            }
+        }
+        gregorian{
+            AmPmMarkers{
+                "a. m.",
+                "p. m.",
+            }
+            AmPmMarkersAbbr{
+                "a. m.",
+                "p. m.",
+            }
+            DateTimePatterns{
+                "h:mm:ss a zzzz",
+                "h:mm:ss a z",
+                "h:mm:ss a",
+                "h:mm a",
+                "EEEE, d 'de' MMMM 'de' y",
+                "d 'de' MMMM 'de' y",
+                "MMM d, y",
+                "y-MM-dd",
+                "{1} {0}",
+                "{1}, {0}",
+                "{1}, {0}",
+                "{1} {0}",
+                "{1} {0}",
+            }
+            availableFormats{
+                GyMMM{"MMM y G"}
+                GyMMMEd{"E, MMM d, y G"}
+                GyMMMM{"MMMM 'de' y G"}
+                GyMMMMEd{"E, d 'de' MMMM 'de' y G"}
+                GyMMMMd{"d 'de' MMMM 'de' y G"}
+                GyMMMd{"MMM d, y G"}
+                MEd{"E, MM-dd"}
+                MMMEd{"E, MMM d"}
+                MMMMEd{"E, d 'de' MMMM"}
+                MMMd{"MMM d"}
+                Md{"MM-dd"}
+                yM{"y-MM"}
+                yMEd{"E, y-MM-dd"}
+                yMMM{"MMM y"}
+                yMMMEd{"E, MMM d, y"}
+                yMMMM{"MMMM 'de' y"}
+                yMMMMEd{"E, d 'de' MMMM 'de' y"}
+                yMMMMd{"d 'de' MMMM 'de' y"}
+                yMMMd{"MMM d, y"}
+                yMd{"y-MM-dd"}
+            }
+            dayPeriod{
+                format{
+                    narrow{
+                        evening1{"de la tarde"}
+                        morning1{"de la madrugada"}
+                        morning2{"mañana"}
+                        night1{"de la noche"}
+                        noon{"del mediodía"}
+                    }
+                }
+                stand-alone{
+                    abbreviated{
+                        am{"a. m."}
+                        pm{"p. m."}
+                    }
+                    narrow{
+                        am{"a. m."}
+                        pm{"p. m."}
+                    }
+                    wide{
+                        am{"a. m."}
+                        pm{"p. m."}
+                    }
+                }
+            }
+            intervalFormats{
+                MEd{
+                    M{"E, MM-dd – E, MM-dd"}
+                    d{"E, MM-dd – E, MM-dd"}
+                }
+                MMM{
+                    M{"MMM – MMM"}
+                }
+                MMMEd{
+                    M{"E, MMM d – E, MMM d"}
+                    d{"E, MMM d – E, MMM d"}
+                }
+                MMMMEd{
+                    M{"E, d 'de' MMMM – E, d 'de' MMMM"}
+                    d{"E, d 'de' MMMM – E, d 'de' MMMM"}
+                }
+                MMMMd{
+                    M{"d 'de' MMMM – d 'de' MMMM"}
+                    d{"d – d 'de' MMMM"}
+                }
+                MMMd{
+                    M{"MMM d – MMM d"}
+                    d{"MMM d – d"}
+                }
+                Md{
+                    M{"MM-dd – MM-dd"}
+                    d{"MM-dd – MM-dd"}
+                }
+                yM{
+                    M{"y-MM – y-MM"}
+                    y{"y-MM – y-MM"}
+                }
+                yMEd{
+                    M{"E, y-MM-dd – E, y-MM-dd"}
+                    d{"E, y-MM-dd – E, y-MM-dd"}
+                    y{"E, y-MM-dd – E, y-MM-dd"}
+                }
+                yMMM{
+                    M{"MMM – MMM y"}
+                    y{"MMM y – MMM y"}
+                }
+                yMMMEd{
+                    M{"E, MMM d – E, MMM d, y"}
+                    d{"E, MMM d – E, MMM d, y"}
+                    y{"E, MMM d, y – E, MMM d, y"}
+                }
+                yMMMM{
+                    M{"MMMM – MMMM 'de' y"}
+                    y{"MMMM 'de' y – MMMM 'de' y"}
+                }
+                yMMMMEd{
+                    M{"E, d 'de' MMMM – E, d 'de' MMMM 'de' y"}
+                    d{"E, d 'de' MMMM – E, d 'de' MMMM 'de' y"}
+                    y{"E, d 'de' MMMM 'de' y – E, d 'de' MMMM 'de' y"}
+                }
+                yMMMMd{
+                    M{"d 'de' MMMM – d 'de' MMMM 'de' y"}
+                    d{"d – d 'de' MMMM 'de' y"}
+                    y{"d 'de' MMMM 'de' y – d 'de' MMMM 'de' y"}
+                }
+                yMMMd{
+                    M{"MMM d – MMM d, y"}
+                    d{"MMM d – d, y"}
+                    y{"MMM d, y – MMM d, y"}
+                }
+                yMd{
+                    M{"y-MM-dd – y-MM-dd"}
+                    d{"y-MM-dd – y-MM-dd"}
+                    y{"y-MM-dd – y-MM-dd"}
+                }
+            }
+        }
+    }
+}
index 382c43b3f7c221373653de1c3963e94274319d28..80ead4f18c34e1eafc6b81c9251493ba6696c09f 100644 (file)
@@ -15,7 +15,7 @@ GENRB_SOURCE_LOCAL = iu.txt iu_CA.txt\
        en_PL.txt en_PT.txt en_RO.txt en_RU.txt en_SK.txt\
        en_TR.txt en_TW.txt\
        es_AG.txt es_AI.txt es_AW.txt es_BB.txt es_BL.txt\
        en_PL.txt en_PT.txt en_RO.txt en_RU.txt en_SK.txt\
        en_TR.txt en_TW.txt\
        es_AG.txt es_AI.txt es_AW.txt es_BB.txt es_BL.txt\
-       es_BM.txt es_BQ.txt es_BS.txt es_CW.txt es_DM.txt\
+       es_BM.txt es_BQ.txt es_BS.txt es_CA.txt es_CW.txt es_DM.txt\
        es_FK.txt es_GD.txt es_GF.txt es_GL.txt es_GP.txt\
        es_GY.txt es_HT.txt es_KN.txt es_KY.txt es_LC.txt\
        es_MF.txt es_MQ.txt es_MS.txt es_PM.txt en_SA.txt es_SR.txt\
        es_FK.txt es_GD.txt es_GF.txt es_GL.txt es_GP.txt\
        es_GY.txt es_HT.txt es_KN.txt es_KY.txt es_LC.txt\
        es_MF.txt es_MQ.txt es_MS.txt es_PM.txt en_SA.txt es_SR.txt\
index 5af96ba91522baba722aad8251263b08d8249887..e90883d24c6edbfcd30458778507069176f20cb6 100644 (file)
@@ -912,6 +912,11 @@ metaZones:table(nofallback){
             {
                 "Africa_Eastern",
                 "2000-01-15 10:00",
             {
                 "Africa_Eastern",
                 "2000-01-15 10:00",
+                "2017-10-31 21:00",
+            }
+            {
+                "Africa_Central",
+                "2017-10-31 21:00",
                 "9999-12-31 23:59",
             }
         }
                 "9999-12-31 23:59",
             }
         }
@@ -1078,11 +1083,16 @@ metaZones:table(nofallback){
             {
                 "Africa_Central",
                 "1990-03-20 22:00",
             {
                 "Africa_Central",
                 "1990-03-20 22:00",
-                "1994-04-02 22:00",
+                "1994-03-20 22:00",
             }
             {
                 "Africa_Western",
             }
             {
                 "Africa_Western",
-                "1994-04-02 22:00",
+                "1994-03-20 22:00",
+                "2017-09-03 01:00",
+            }
+            {
+                "Africa_Central",
+                "2017-09-03 01:00",
                 "9999-12-31 23:59",
             }
         }
                 "9999-12-31 23:59",
             }
         }
@@ -1637,6 +1647,11 @@ metaZones:table(nofallback){
             {
                 "Atlantic",
                 "2015-11-01 06:00",
             {
                 "Atlantic",
                 "2015-11-01 06:00",
+                "2018-03-11 07:00",
+            }
+            {
+                "America_Eastern",
+                "2018-03-11 07:00",
                 "9999-12-31 23:59",
             }
         }
                 "9999-12-31 23:59",
             }
         }
index 949187beb5f0a5e15fd484957aa2aed9b588fc89..0ddf3bff88f7811589e81757fb4e76108ae0697d 100644 (file)
@@ -18583,7 +18583,6 @@ supplementalData:table(nofallback){
             "en_CC",
             "en_CK",
             "en_CM",
             "en_CC",
             "en_CK",
             "en_CM",
-            "en_CN",
             "en_CX",
             "en_CY",
             "en_DG",
             "en_CX",
             "en_CY",
             "en_DG",
@@ -18706,6 +18705,7 @@ supplementalData:table(nofallback){
             "es_BR",
             "es_BS",
             "es_BZ",
             "es_BR",
             "es_BS",
             "es_BZ",
+            "es_CA",
             "es_CL",
             "es_CO",
             "es_CR",
             "es_CL",
             "es_CO",
             "es_CR",
index fdad2a665c89c856ca81c0dd00eaf46c3a4e422b..ec393d912b07b23ef2ab8b2eb6a503ce1d81d39a 100644 (file)
@@ -58,7 +58,7 @@ windowsZones:table(nofallback){
         }
         "Astrakhan Standard Time"{
             001{"Europe/Astrakhan"}
         }
         "Astrakhan Standard Time"{
             001{"Europe/Astrakhan"}
-            RU{"Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk"}
+            RU{"Europe/Astrakhan Europe/Ulyanovsk"}
         }
         "Atlantic Standard Time"{
             001{"America/Halifax"}
         }
         "Atlantic Standard Time"{
             001{"America/Halifax"}
@@ -372,6 +372,11 @@ windowsZones:table(nofallback){
             001{"Asia/Magadan"}
             RU{"Asia/Magadan"}
         }
             001{"Asia/Magadan"}
             RU{"Asia/Magadan"}
         }
+        "Magallanes Standard Time"{
+            001{"America/Punta_Arenas"}
+            AQ{"Antarctica/Palmer"}
+            CL{"America/Punta_Arenas"}
+        }
         "Marquesas Standard Time"{
             001{"Pacific/Marquesas"}
             PF{"Pacific/Marquesas"}
         "Marquesas Standard Time"{
             001{"Pacific/Marquesas"}
             PF{"Pacific/Marquesas"}
@@ -503,12 +508,11 @@ windowsZones:table(nofallback){
         }
         "SA Eastern Standard Time"{
             001{"America/Cayenne"}
         }
         "SA Eastern Standard Time"{
             001{"America/Cayenne"}
-            AQ{"Antarctica/Rothera Antarctica/Palmer"}
+            AQ{"Antarctica/Rothera"}
             BR{
                 "America/Fortaleza America/Belem America/Maceio America/Recife Americ"
                 "a/Santarem"
             }
             BR{
                 "America/Fortaleza America/Belem America/Maceio America/Recife Americ"
                 "a/Santarem"
             }
-            CL{"America/Punta_Arenas"}
             FK{"Atlantic/Stanley"}
             GF{"America/Cayenne"}
             SR{"America/Paramaribo"}
             FK{"Atlantic/Stanley"}
             GF{"America/Cayenne"}
             SR{"America/Paramaribo"}
@@ -579,6 +583,10 @@ windowsZones:table(nofallback){
             001{"Pacific/Apia"}
             WS{"Pacific/Apia"}
         }
             001{"Pacific/Apia"}
             WS{"Pacific/Apia"}
         }
+        "Saratov Standard Time"{
+            001{"Europe/Saratov"}
+            RU{"Europe/Saratov"}
+        }
         "Singapore Standard Time"{
             001{"Asia/Singapore"}
             BN{"Asia/Brunei"}
         "Singapore Standard Time"{
             001{"Asia/Singapore"}
             BN{"Asia/Brunei"}
@@ -637,10 +645,7 @@ windowsZones:table(nofallback){
         }
         "Tonga Standard Time"{
             001{"Pacific/Tongatapu"}
         }
         "Tonga Standard Time"{
             001{"Pacific/Tongatapu"}
-            KI{"Pacific/Enderbury"}
-            TK{"Pacific/Fakaofo"}
             TO{"Pacific/Tongatapu"}
             TO{"Pacific/Tongatapu"}
-            ZZ{"Etc/GMT-13"}
         }
         "Transbaikal Standard Time"{
             001{"Asia/Chita"}
         }
         "Transbaikal Standard Time"{
             001{"Asia/Chita"}
@@ -681,6 +686,12 @@ windowsZones:table(nofallback){
             WF{"Pacific/Wallis"}
             ZZ{"Etc/GMT-12"}
         }
             WF{"Pacific/Wallis"}
             ZZ{"Etc/GMT-12"}
         }
+        "UTC+13"{
+            001{"Etc/GMT-13"}
+            KI{"Pacific/Enderbury"}
+            TK{"Pacific/Fakaofo"}
+            ZZ{"Etc/GMT-13"}
+        }
         "UTC-02"{
             001{"Etc/GMT+2"}
             BR{"America/Noronha"}
         "UTC-02"{
             001{"Etc/GMT+2"}
             BR{"America/Noronha"}
index 872958f90179e0f54ad7e925e91f0456908a5edd..154470b3ac5ed362975f2c0e4fd09f555f0baaa8 100644 (file)
@@ -3,17 +3,17 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License
 //---------------------------------------------------------
 // Build tool:  tz2icu
 // License & terms of use: http://www.unicode.org/copyright.html#License
 //---------------------------------------------------------
 // Build tool:  tz2icu
-// Build date:  Mon Mar 20 17:49:58 2017
+// Build date:  Tue Oct 24 17:35:27 2017
 // tz database: ftp://ftp.iana.org/tz/
 // tz database: ftp://ftp.iana.org/tz/
-// tz version:  2017b
-// ICU version: 59.1
+// tz version:  2017c
+// ICU version: 60.1
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
 // >> !!! >>>            DO NOT EDIT             <<< !!! <<
 //---------------------------------------------------------
 
 zoneinfo64:table(nofallback) {
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
 // >> !!! >>>            DO NOT EDIT             <<< !!! <<
 //---------------------------------------------------------
 
 zoneinfo64:table(nofallback) {
- TZVersion { "2017b" }
+ TZVersion { "2017c" }
  Zones:array { 
   /* ACT */ :int { 354 } //Z#0
   /* AET */ :int { 366 } //Z#1
  Zones:array { 
   /* ACT */ :int { 354 } //Z#0
   /* AET */ :int { 366 } //Z#1
@@ -100,13 +100,16 @@ zoneinfo64:table(nofallback) {
     typeMap:bin { "010203020302" }
     links:intvector { 30, 44, 45 }
   } //Z#30
     typeMap:bin { "010203020302" }
     links:intvector { 30, 44, 45 }
   } //Z#30
-  /* Africa/Juba */ :int { 33 } //Z#31
+  /* Africa/Juba */ :table {
+    trans:intvector { -1230775588, 10360800, 24786000, 41810400, 56322000, 73432800, 87944400, 104882400, 119480400, 136332000, 151016400, 167781600, 182552400, 199231200, 214174800, 230680800, 245710800, 262735200, 277246800, 294184800, 308782800, 325634400, 340405200, 357084000, 371941200, 388533600, 403477200, 419983200, 435013200, 452037600, 466635600, 483487200, 498171600, 947930400 }
+    typeOffsets:intvector { 7588, 0, 7200, 0, 7200, 3600, 10800, 0 }
+    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020103" }
+  } //Z#31
   /* Africa/Kampala */ :int { 48 } //Z#32
   /* Africa/Khartoum */ :table {
   /* Africa/Kampala */ :int { 48 } //Z#32
   /* Africa/Khartoum */ :table {
-    trans:intvector { -1230775808, 10360800, 24786000, 41810400, 56322000, 73432800, 87944400, 104882400, 119480400, 136332000, 151016400, 167781600, 182552400, 199231200, 214174800, 230680800, 245710800, 262735200, 277246800, 294184800, 308782800, 325634400, 340405200, 357084000, 371941200, 388533600, 403477200, 419983200, 435013200, 452037600, 466635600, 483487200, 498171600, 947930400 }
+    trans:intvector { -1230775808, 10360800, 24786000, 41810400, 56322000, 73432800, 87944400, 104882400, 119480400, 136332000, 151016400, 167781600, 182552400, 199231200, 214174800, 230680800, 245710800, 262735200, 277246800, 294184800, 308782800, 325634400, 340405200, 357084000, 371941200, 388533600, 403477200, 419983200, 435013200, 452037600, 466635600, 483487200, 498171600, 947930400, 1509483600 }
     typeOffsets:intvector { 7808, 0, 7200, 0, 7200, 3600, 10800, 0 }
     typeOffsets:intvector { 7808, 0, 7200, 0, 7200, 3600, 10800, 0 }
-    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020103" }
-    links:intvector { 31, 33 }
+    typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010301" }
   } //Z#33
   /* Africa/Kigali */ :int { 43 } //Z#34
   /* Africa/Kinshasa */ :int { 36 } //Z#35
   } //Z#33
   /* Africa/Kigali */ :int { 43 } //Z#34
   /* Africa/Kinshasa */ :int { 36 } //Z#35
@@ -167,17 +170,14 @@ zoneinfo64:table(nofallback) {
   } //Z#57
   /* Africa/Windhoek */ :table {
     transPre32:intvector { -1, 1836796792 }
   } //Z#57
   /* Africa/Windhoek */ :table {
     transPre32:intvector { -1, 1836796792 }
-    trans:intvector { -2109288600, -860976000, -845254800, 765324000, 778640400, 796780800, 810090000 }
+    trans:intvector { -2109288600, -860976000, -845254800, 764200800, 778640400, 796780800, 810090000, 828835200, 841539600, 860284800, 873594000, 891734400, 905043600, 923184000, 936493200, 954633600, 967942800, 986083200, 999392400, 1018137600, 1030842000, 1049587200, 1062896400, 1081036800, 1094346000, 1112486400, 1125795600, 1143936000, 1157245200, 1175385600, 1188694800, 1207440000, 1220749200, 1238889600, 1252198800, 1270339200, 1283648400, 1301788800, 1315098000, 1333238400, 1346547600, 1365292800, 1377997200, 1396742400, 1410051600, 1428192000, 1441501200, 1459641600, 1472950800, 1491091200, 1504400400 }
     typeOffsets:intvector { 4104, 0, 3600, 0, 3600, 3600, 5400, 0, 7200, 0, 7200, 3600 }
     typeOffsets:intvector { 4104, 0, 3600, 0, 3600, 3600, 5400, 0, 7200, 0, 7200, 3600 }
-    typeMap:bin { "0304050401020102" }
-    finalRule { "Namibia" }
-    finalRaw:int { 3600 }
-    finalYear:int { 1996 }
+    typeMap:bin { "03040504010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020104" }
   } //Z#58
   /* America/Adak */ :table {
   } //Z#58
   /* America/Adak */ :table {
-    transPre32:intvector { -1, 1069611295, -1, 2106022494 }
+    transPre32:intvector { -1, 1069743569, -1, 2106022494 }
     trans:intvector { -880196400, -765374400, -21466800, -5745600, 9982800, 25704000, 41432400, 57758400, 73486800, 89208000, 104936400, 120657600, 126709200, 152107200, 162392400, 183556800, 199285200, 215611200, 230734800, 247060800, 262789200, 278510400, 294238800, 309960000, 325688400, 341409600, 357138000, 372859200, 388587600, 404913600, 420037200, 436363200, 452088000, 467809200, 483537600, 499258800, 514987200, 530708400, 544622400, 562158000, 576072000, 594212400, 607521600, 625662000, 638971200, 657111600, 671025600, 688561200, 702475200, 720010800, 733924800, 752065200, 765374400, 783514800, 796824000, 814964400, 828878400, 846414000, 860328000, 877863600, 891777600, 909313200, 923227200, 941367600, 954676800, 972817200, 986126400, 1004266800, 1018180800, 1035716400, 1049630400, 1067166000, 1081080000, 1099220400, 1112529600, 1130670000, 1143979200, 1162119600, 1173614400, 1194174000 }
     trans:intvector { -880196400, -765374400, -21466800, -5745600, 9982800, 25704000, 41432400, 57758400, 73486800, 89208000, 104936400, 120657600, 126709200, 152107200, 162392400, 183556800, 199285200, 215611200, 230734800, 247060800, 262789200, 278510400, 294238800, 309960000, 325688400, 341409600, 357138000, 372859200, 388587600, 404913600, 420037200, 436363200, 452088000, 467809200, 483537600, 499258800, 514987200, 530708400, 544622400, 562158000, 576072000, 594212400, 607521600, 625662000, 638971200, 657111600, 671025600, 688561200, 702475200, 720010800, 733924800, 752065200, 765374400, 783514800, 796824000, 814964400, 828878400, 846414000, 860328000, 877863600, 891777600, 909313200, 923227200, 941367600, 954676800, 972817200, 986126400, 1004266800, 1018180800, 1035716400, 1049630400, 1067166000, 1081080000, 1099220400, 1112529600, 1130670000, 1143979200, 1162119600, 1173614400, 1194174000 }
-    typeOffsets:intvector { 44001, 0, -42398, 0, -39600, 0, -39600, 3600, -36000, 0, -36000, 3600 }
+    typeOffsets:intvector { 44002, 0, -42398, 0, -39600, 0, -39600, 3600, -36000, 0, -36000, 3600 }
     typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020304050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
     finalRule { "US" }
     finalRaw:int { -36000 }
     typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020304050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
     finalRule { "US" }
     finalRaw:int { -36000 }
@@ -185,7 +185,7 @@ zoneinfo64:table(nofallback) {
     links:intvector { 59, 80, 615 }
   } //Z#59
   /* America/Anchorage */ :table {
     links:intvector { 59, 80, 615 }
   } //Z#59
   /* America/Anchorage */ :table {
-    transPre32:intvector { -1, 1069604872, -1, 2106016072 }
+    transPre32:intvector { -1, 1069743569, -1, 2106016072 }
     trans:intvector { -880200000, -765378000, -21470400, -5749200, 9979200, 25700400, 41428800, 57754800, 73483200, 89204400, 104932800, 120654000, 126705600, 152103600, 162388800, 183553200, 199281600, 215607600, 230731200, 247057200, 262785600, 278506800, 294235200, 309956400, 325684800, 341406000, 357134400, 372855600, 388584000, 404910000, 420033600, 436359600, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
     typeOffsets:intvector { 50424, 0, -36000, 0, -36000, 3600, -35976, 0, -32400, 0, -32400, 3600 }
     typeMap:bin { "03010201020102010201020102010201020102010201020102010201020102010204050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
     trans:intvector { -880200000, -765378000, -21470400, -5749200, 9979200, 25700400, 41428800, 57754800, 73483200, 89204400, 104932800, 120654000, 126705600, 152103600, 162388800, 183553200, 199281600, 215607600, 230731200, 247057200, 262785600, 278506800, 294235200, 309956400, 325684800, 341406000, 357134400, 372855600, 388584000, 404910000, 420033600, 436359600, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
     typeOffsets:intvector { 50424, 0, -36000, 0, -36000, 3600, -35976, 0, -32400, 0, -32400, 3600 }
     typeMap:bin { "03010201020102010201020102010201020102010201020102010201020102010204050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
@@ -461,9 +461,9 @@ zoneinfo64:table(nofallback) {
     links:intvector { 109, 204, 543, 623 }
   } //Z#109
   /* America/Detroit */ :table {
     links:intvector { 109, 204, 543, 623 }
   } //Z#109
   /* America/Detroit */ :table {
-    trans:intvector { -2051202469, -1724083200, -880218000, -765396000, -684349200, -671047200, -80499600, -68666400, 104914800, 120636000, 126687600, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 }
+    trans:intvector { -2051202469, -1724083200, -880218000, -765396000, -684349200, -671047200, 104914800, 120636000, 126687600, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 }
     typeOffsets:intvector { -19931, 0, -21600, 0, -18000, 0, -18000, 3600 }
     typeOffsets:intvector { -19931, 0, -21600, 0, -18000, 0, -18000, 3600 }
-    typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
+    typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     finalRule { "US" }
     finalRaw:int { -18000 }
     finalYear:int { 2008 }
     finalRule { "US" }
     finalRaw:int { -18000 }
     finalYear:int { 2008 }
@@ -529,9 +529,12 @@ zoneinfo64:table(nofallback) {
   } //Z#121
   /* America/Grand_Turk */ :table {
     transPre32:intvector { -1, 1770462768 }
   } //Z#121
   /* America/Grand_Turk */ :table {
     transPre32:intvector { -1, 1770462768 }
-    trans:intvector { -1827687169, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000, 1205046000, 1225605600, 1236495600, 1257055200, 1268550000, 1289109600, 1299999600, 1320559200, 1331449200, 1352008800, 1362898800, 1383458400, 1394348400, 1414908000, 1425798000, 1446357600 }
+    trans:intvector { -1827687169, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000, 1205046000, 1225605600, 1236495600, 1257055200, 1268550000, 1289109600, 1299999600, 1320559200, 1331449200, 1352008800, 1362898800, 1383458400, 1394348400, 1414908000, 1425798000, 1446357600, 1520751600, 1541311200 }
     typeOffsets:intvector { -17072, 0, -18431, 0, -18000, 0, -18000, 3600, -14400, 0 }
     typeOffsets:intvector { -17072, 0, -18431, 0, -18000, 0, -18000, 3600, -14400, 0 }
-    typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020304" }
+    typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203040302" }
+    finalRule { "US" }
+    finalRaw:int { -18000 }
+    finalYear:int { 2019 }
   } //Z#122
   /* America/Grenada */ :int { 186 } //Z#123
   /* America/Guadeloupe */ :int { 186 } //Z#124
   } //Z#122
   /* America/Grenada */ :int { 186 } //Z#123
   /* America/Guadeloupe */ :int { 186 } //Z#124
@@ -674,7 +677,7 @@ zoneinfo64:table(nofallback) {
   } //Z#142
   /* America/Jujuy */ :int { 68 } //Z#143
   /* America/Juneau */ :table {
   } //Z#142
   /* America/Jujuy */ :int { 68 } //Z#143
   /* America/Juneau */ :table {
-    transPre32:intvector { -1, 1069601157, -1, 2106012357 }
+    transPre32:intvector { -1, 1069743569, -1, 2106012357 }
     trans:intvector { -880207200, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341402400, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
     typeOffsets:intvector { 54139, 0, -32400, 0, -32400, 3600, -32261, 0, -28800, 0, -28800, 3600 }
     typeMap:bin { "03040504050405040504050405040504050405040504050405040204050405040501020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     trans:intvector { -880207200, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341402400, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
     typeOffsets:intvector { 54139, 0, -32400, 0, -32400, 3600, -32261, 0, -28800, 0, -28800, 3600 }
     typeMap:bin { "03040504050405040504050405040504050405040504050405040204050405040501020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
@@ -785,7 +788,7 @@ zoneinfo64:table(nofallback) {
     finalYear:int { 2003 }
   } //Z#163
   /* America/Metlakatla */ :table {
     finalYear:int { 2003 }
   } //Z#163
   /* America/Metlakatla */ :table {
-    transPre32:intvector { -1, 1069600474, -1, 2106011674 }
+    transPre32:intvector { -1, 1069743569, -1, 2106011674 }
     trans:intvector { -880207200, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 1446372000, 1457866800, 1478426400 }
     typeOffsets:intvector { 54822, 0, -32400, 0, -32400, 3600, -31578, 0, -28800, 0, -28800, 3600 }
     typeMap:bin { "03040504050405040504050405040504050405040504050405040504050405040504010201" }
     trans:intvector { -880207200, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 1446372000, 1457866800, 1478426400 }
     typeOffsets:intvector { 54822, 0, -32400, 0, -32400, 3600, -31578, 0, -28800, 0, -28800, 3600 }
     typeMap:bin { "03040504050405040504050405040504050405040504050405040504050405040504010201" }
@@ -862,9 +865,9 @@ zoneinfo64:table(nofallback) {
     finalYear:int { 2008 }
   } //Z#174
   /* America/Nome */ :table {
     finalYear:int { 2008 }
   } //Z#174
   /* America/Nome */ :table {
-    transPre32:intvector { -1, 1069608595, -1, 2106019794 }
+    transPre32:intvector { -1, 1069743569, -1, 2106019794 }
     trans:intvector { -880196400, -765374400, -21466800, -5745600, 9982800, 25704000, 41432400, 57758400, 73486800, 89208000, 104936400, 120657600, 126709200, 152107200, 162392400, 183556800, 199285200, 215611200, 230734800, 247060800, 262789200, 278510400, 294238800, 309960000, 325688400, 341409600, 357138000, 372859200, 388587600, 404913600, 420037200, 436363200, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
     trans:intvector { -880196400, -765374400, -21466800, -5745600, 9982800, 25704000, 41432400, 57758400, 73486800, 89208000, 104936400, 120657600, 126709200, 152107200, 162392400, 183556800, 199285200, 215611200, 230734800, 247060800, 262789200, 278510400, 294238800, 309960000, 325688400, 341409600, 357138000, 372859200, 388587600, 404913600, 420037200, 436363200, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
-    typeOffsets:intvector { 46701, 0, -39698, 0, -39600, 0, -39600, 3600, -32400, 0, -32400, 3600 }
+    typeOffsets:intvector { 46702, 0, -39698, 0, -39600, 0, -39600, 3600, -32400, 0, -32400, 3600 }
     typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020304050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
     finalRule { "US" }
     finalRaw:int { -32400 }
     typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020304050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
     finalRule { "US" }
     finalRaw:int { -32400 }
@@ -1056,7 +1059,7 @@ zoneinfo64:table(nofallback) {
   } //Z#203
   /* America/Shiprock */ :int { 109 } //Z#204
   /* America/Sitka */ :table {
   } //Z#203
   /* America/Shiprock */ :int { 109 } //Z#204
   /* America/Sitka */ :table {
-    transPre32:intvector { -1, 1069601369, -1, 2106012569 }
+    transPre32:intvector { -1, 1069743569, -1, 2106012569 }
     trans:intvector { -880207200, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
     typeOffsets:intvector { 53927, 0, -32473, 0, -32400, 0, -32400, 3600, -28800, 0, -28800, 3600 }
     typeMap:bin { "01040504050405040504050405040504050405040504050405040504050405040502030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     trans:intvector { -880207200, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
     typeOffsets:intvector { 53927, 0, -32473, 0, -32400, 0, -32400, 3600, -28800, 0, -28800, 3600 }
     typeMap:bin { "01040504050405040504050405040504050405040504050405040504050405040502030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
@@ -1157,7 +1160,7 @@ zoneinfo64:table(nofallback) {
     links:intvector { 222, 384 }
   } //Z#222
   /* America/Yakutat */ :table {
     links:intvector { 222, 384 }
   } //Z#222
   /* America/Yakutat */ :table {
-    transPre32:intvector { -1, 1069602431, -1, 2106013631 }
+    transPre32:intvector { -1, 1069743569, -1, 2106013631 }
     trans:intvector { -880203600, -765381600, -21474000, -5752800, 9975600, 25696800, 41425200, 57751200, 73479600, 89200800, 104929200, 120650400, 126702000, 152100000, 162385200, 183549600, 199278000, 215604000, 230727600, 247053600, 262782000, 278503200, 294231600, 309952800, 325681200, 341402400, 357130800, 372852000, 388580400, 404906400, 420030000, 436356000, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
     typeOffsets:intvector { 52865, 0, -33535, 0, -32400, 0, -32400, 3600 }
     typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     trans:intvector { -880203600, -765381600, -21474000, -5752800, 9975600, 25696800, 41425200, 57751200, 73479600, 89200800, 104929200, 120650400, 126702000, 152100000, 162385200, 183549600, 199278000, 215604000, 230727600, 247053600, 262782000, 278503200, 294231600, 309952800, 325681200, 341402400, 357130800, 372852000, 388580400, 404906400, 420030000, 436356000, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
     typeOffsets:intvector { 52865, 0, -33535, 0, -32400, 0, -32400, 3600 }
     typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
@@ -1365,9 +1368,12 @@ zoneinfo64:table(nofallback) {
     typeMap:bin { "010304030403040304030403040304030403040304030201" }
   } //Z#266
   /* Asia/Famagusta */ :table {
     typeMap:bin { "010304030403040304030403040304030403040304030201" }
   } //Z#266
   /* Asia/Famagusta */ :table {
-    trans:intvector { -1518920148, 166572000, 182293200, 200959200, 213829200, 228866400, 243982800, 260316000, 276123600, 291765600, 307486800, 323820000, 338936400, 354664800, 370386000, 386114400, 401835600, 417564000, 433285200, 449013600, 465339600, 481068000, 496789200, 512517600, 528238800, 543967200, 559688400, 575416800, 591138000, 606866400, 622587600, 638316000, 654642000, 670370400, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000, 828223200, 843944400, 859672800, 875394000, 891122400, 909277200, 922582800, 941331600, 954032400, 972781200, 985482000, 1004230800, 1017536400, 1035680400, 1048986000, 1067130000, 1080435600, 1099184400, 1111885200, 1130634000, 1143334800, 1162083600, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301187600, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396141200, 1414285200, 1427590800, 1445734800, 1459040400, 1473282000 }
+    trans:intvector { -1518920148, 166572000, 182293200, 200959200, 213829200, 228866400, 243982800, 260316000, 276123600, 291765600, 307486800, 323820000, 338936400, 354664800, 370386000, 386114400, 401835600, 417564000, 433285200, 449013600, 465339600, 481068000, 496789200, 512517600, 528238800, 543967200, 559688400, 575416800, 591138000, 606866400, 622587600, 638316000, 654642000, 670370400, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000, 828223200, 843944400, 859672800, 875394000, 891122400, 909277200, 922582800, 941331600, 954032400, 972781200, 985482000, 1004230800, 1017536400, 1035680400, 1048986000, 1067130000, 1080435600, 1099184400, 1111885200, 1130634000, 1143334800, 1162083600, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301187600, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396141200, 1414285200, 1427590800, 1445734800, 1459040400, 1473282000, 1509238800, 1521939600, 1540688400 }
     typeOffsets:intvector { 8148, 0, 7200, 0, 7200, 3600, 10800, 0 }
     typeOffsets:intvector { 8148, 0, 7200, 0, 7200, 3600, 10800, 0 }
-    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203" }
+    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203010201" }
+    finalRule { "EUAsia" }
+    finalRaw:int { 7200 }
+    finalYear:int { 2019 }
   } //Z#267
   /* Asia/Gaza */ :table {
     transPre32:intvector { -1, 2109557424 }
   } //Z#267
   /* Asia/Gaza */ :table {
     transPre32:intvector { -1, 2109557424 }
@@ -1462,10 +1468,10 @@ zoneinfo64:table(nofallback) {
     typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403050605060506050605060506050605070503" }
   } //Z#285
   /* Asia/Kolkata */ :table {
     typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403050605060506050605060506050605070503" }
   } //Z#285
   /* Asia/Kolkata */ :table {
-    transPre32:intvector { -1, 1454805288 }
-    trans:intvector { -891582800, -872058600, -862637400, -764145000 }
-    typeOffsets:intvector { 21208, 0, 19800, 0, 19800, 3600, 21200, 0, 23400, 0 }
-    typeMap:bin { "0304010201" }
+    transPre32:intvector { -1, 649730088, -1, 1139272496 }
+    trans:intvector { -2019705670, -891581400, -872058600, -862637400, -764145000 }
+    typeOffsets:intvector { 21208, 0, 19270, 0, 19800, 0, 19800, 3600, 21200, 0 }
+    typeMap:bin { "04010203020302" }
     links:intvector { 255, 286, 512 }
   } //Z#286
   /* Asia/Krasnoyarsk */ :table {
     links:intvector { 255, 286, 512 }
   } //Z#286
   /* Asia/Krasnoyarsk */ :table {
@@ -1680,8 +1686,8 @@ zoneinfo64:table(nofallback) {
     typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
   } //Z#332
   /* Asia/Yangon */ :table {
     typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
   } //Z#332
   /* Asia/Yangon */ :table {
-    trans:intvector { -1577946280, -873268200, -778410000 }
-    typeOffsets:intvector { 23080, 0, 23400, 0, 32400, 0 }
+    trans:intvector { -1577946287, -873268200, -778410000 }
+    typeOffsets:intvector { 23087, 0, 23400, 0, 32400, 0 }
     typeMap:bin { "010201" }
     links:intvector { 307, 333 }
   } //Z#333
     typeMap:bin { "010201" }
     links:intvector { 307, 333 }
   } //Z#333
@@ -2134,7 +2140,7 @@ zoneinfo64:table(nofallback) {
   } //Z#451
   /* Europe/Dublin */ :table {
     transPre32:intvector { -1, 1473317596 }
   } //Z#451
   /* Europe/Dublin */ :table {
     transPre32:intvector { -1, 1473317596 }
-    trans:intvector { -1691962479, -1680471279, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -733359600, -719445600, -699490800, -684972000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600, 828234000, 846378000 }
+    trans:intvector { -1691962479, -1680471279, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -733356000, -719445600, -699487200, -684972000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600, 828234000, 846378000 }
     typeOffsets:intvector { -1500, 0, -1521, 0, -1521, 3600, 0, 0, 0, 3600, 3600, 0 }
     typeMap:bin { "0102030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030405030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     finalRule { "EU" }
     typeOffsets:intvector { -1500, 0, -1521, 0, -1521, 3600, 0, 0, 0, 3600, 3600, 0 }
     typeMap:bin { "0102030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030405030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     finalRule { "EU" }
@@ -2537,7 +2543,7 @@ zoneinfo64:table(nofallback) {
     finalYear:int { 2008 }
   } //Z#549
   /* Pacific/Apia */ :table {
     finalYear:int { 2008 }
   } //Z#549
   /* Pacific/Apia */ :table {
-    transPre32:intvector { -1, 1439229312 }
+    transPre32:intvector { -1, 1849542912 }
     trans:intvector { -1861878784, -631110600, 1285498800, 1301752800, 1316872800, 1325239200, 1333202400, 1348927200 }
     typeOffsets:intvector { 45184, 0, -41400, 0, -41216, 0, -39600, 0, -39600, 3600, 46800, 0, 46800, 3600 }
     typeMap:bin { "020103040304060506" }
     trans:intvector { -1861878784, -631110600, 1285498800, 1301752800, 1316872800, 1325239200, 1333202400, 1348927200 }
     typeOffsets:intvector { 45184, 0, -41400, 0, -41216, 0, -39600, 0, -39600, 3600, 46800, 0, 46800, 3600 }
     typeMap:bin { "020103040304060506" }
@@ -2701,7 +2707,7 @@ zoneinfo64:table(nofallback) {
     typeMap:bin { "01020102010201" }
   } //Z#576
   /* Pacific/Pago_Pago */ :table {
     typeMap:bin { "01020102010201" }
   } //Z#576
   /* Pacific/Pago_Pago */ :table {
-    transPre32:intvector { -1, 1439229064 }
+    transPre32:intvector { -1, 1849542664 }
     trans:intvector { -1861879032 }
     typeOffsets:intvector { 45432, 0, -40968, 0, -39600, 0 }
     typeMap:bin { "0102" }
     trans:intvector { -1861879032 }
     typeOffsets:intvector { 45432, 0, -40968, 0, -39600, 0 }
     typeMap:bin { "0102" }
@@ -2750,12 +2756,9 @@ zoneinfo64:table(nofallback) {
   } //Z#587
   /* Pacific/Tongatapu */ :table {
     transPre32:intvector { -1, 2117470136 }
   } //Z#587
   /* Pacific/Tongatapu */ :table {
     transPre32:intvector { -1, 2117470136 }
-    trans:intvector { -915193200, 939214800, 953384400, 973342800, 980596800, 1004792400, 1012046400, 1478350800, 1484398800, 1509800400 }
+    trans:intvector { -915193200, 939214800, 953384400, 973342800, 980596800, 1004792400, 1012046400, 1478350800, 1484398800 }
     typeOffsets:intvector { 44360, 0, 44400, 0, 46800, 0, 46800, 3600 }
     typeOffsets:intvector { 44360, 0, 44400, 0, 46800, 0, 46800, 3600 }
-    typeMap:bin { "0102030203020302030203" }
-    finalRule { "Tonga" }
-    finalRaw:int { 46800 }
-    finalYear:int { 2018 }
+    typeMap:bin { "01020302030203020302" }
   } //Z#588
   /* Pacific/Truk */ :int { 554 } //Z#589
   /* Pacific/Wake */ :table {
   } //Z#588
   /* Pacific/Truk */ :int { 554 } //Z#589
   /* Pacific/Wake */ :table {
@@ -3104,7 +3107,7 @@ zoneinfo64:table(nofallback) {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 3600
   } //_#11
   Fiji:intvector {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 3600
   } //_#11
   Fiji:intvector {
-    10, 1, -1, 7200, 0, 0, 15, -1, 10800, 0, 3600
+    10, 1, -1, 7200, 0, 0, 14, -1, 10800, 0, 3600
   } //_#12
   Haiti:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
   } //_#12
   Haiti:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
@@ -3133,39 +3136,33 @@ zoneinfo64:table(nofallback) {
   NZ:intvector {
     8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
   } //_#21
   NZ:intvector {
     8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
   } //_#21
-  Namibia:intvector {
-    8, 1, -1, 7200, 0, 3, 1, -1, 7200, 0, 3600
-  } //_#22
   Palestine:intvector {
     2, -31, -7, 3600, 0, 9, -31, -7, 3600, 0, 3600
   Palestine:intvector {
     2, -31, -7, 3600, 0, 9, -31, -7, 3600, 0, 3600
-  } //_#23
+  } //_#22
   Para:intvector {
     9, 1, -1, 0, 0, 2, 22, -1, 0, 0, 3600
   Para:intvector {
     9, 1, -1, 0, 0, 2, 22, -1, 0, 0, 3600
-  } //_#24
+  } //_#23
   Syria:intvector {
     2, -31, -6, 0, 0, 9, -31, -6, 0, 0, 3600
   Syria:intvector {
     2, -31, -6, 0, 0, 9, -31, -6, 0, 0, 3600
-  } //_#25
+  } //_#24
   SystemV:intvector {
     3, -30, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600
   SystemV:intvector {
     3, -30, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600
-  } //_#26
+  } //_#25
   Thule:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
   Thule:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#27
-  Tonga:intvector {
-    10, 1, -1, 7200, 0, 0, 15, -1, 10800, 0, 3600
-  } //_#28
+  } //_#26
   Troll:intvector {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 7200
   Troll:intvector {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 7200
-  } //_#29
+  } //_#27
   US:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
   US:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#30
+  } //_#28
   WS:intvector {
     8, -30, -1, 10800, 0, 3, 1, -1, 14400, 0, 3600
   WS:intvector {
     8, -30, -1, 10800, 0, 3, 1, -1, 14400, 0, 3600
-  } //_#31
+  } //_#29
   Zion:intvector {
     2, 23, -6, 7200, 0, 9, -31, -1, 7200, 0, 3600
   Zion:intvector {
     2, 23, -6, 7200, 0, 9, -31, -1, 7200, 0, 3600
-  } //_#32
+  } //_#30
  }
  Regions:array {
   "AU", //Z#0 ACT
  }
  Regions:array {
   "AU", //Z#0 ACT
index 8b7151f640d0101eeb561e6baf3360f6011557c6..00aa6c4f123a09e91feba44c8152673d04b6e013 100644 (file)
@@ -143,7 +143,7 @@ nl{
         IL{"Israël"}
         IM{"Isle of Man"}
         IN{"India"}
         IL{"Israël"}
         IM{"Isle of Man"}
         IN{"India"}
-        IO{"Britse Gebieden in de Indische Oceaan"}
+        IO{"Brits Indische Oceaanterritorium"}
         IQ{"Irak"}
         IR{"Iran"}
         IS{"IJsland"}
         IQ{"Irak"}
         IR{"Iran"}
         IS{"IJsland"}
index 72e7f072f2540a72b42b5b8596e4d5e221d73c63..44da4180b1624596da080ac38e99a339e32204cb 100755 (executable)
@@ -5,6 +5,5 @@
 // *
 // ***************************************************************************
 en_CN{
 // *
 // ***************************************************************************
 en_CN{
-    %%Parent{"en_001"}
     Version{"2.1.19.14"}
 }
     Version{"2.1.19.14"}
 }
index 08884377d65c44f64a6e9bc7bb47c1ef310d3aec..f0a28b8ed73eb6bc5855f866497e8bcfd831502d 100755 (executable)
@@ -5,6 +5,5 @@
 // *
 // ***************************************************************************
 en_TW{
 // *
 // ***************************************************************************
 en_TW{
-    %%Parent{"en_001"}
     Version{"2.1.19.14"}
 }
     Version{"2.1.19.14"}
 }
diff --git a/icuSources/data/unit/es_CA.txt b/icuSources/data/unit/es_CA.txt
new file mode 100644 (file)
index 0000000..6101a9e
--- /dev/null
@@ -0,0 +1,6 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+es_CA{
+    %%Parent{"es_419"}
+    Version{"2.1.31.74"}
+}
index 5b3a2abaf76d851558ae6966f6b6564511c2a393..a204d87aab5bb5fd64555d4422d7ab76d6f044cc 100644 (file)
@@ -821,7 +821,7 @@ it{
             }
             month{
                 dnam{"mese"}
             }
             month{
                 dnam{"mese"}
-                one{"{0}mesi"}
+                one{"{0}mese"}
                 other{"{0}mesi"}
             }
             second{
                 other{"{0}mesi"}
             }
             second{
index a02185f6f65712fd59fab4d1680492c1558a674f..4d420b27908f76f674c4b26acfb08465ed837909 100755 (executable)
@@ -5,13 +5,13 @@
 
 UNIT_SOURCE_LOCAL = iu.txt ms_Arab.txt tg.txt tk.txt\
        en_AD.txt en_AL.txt en_BA.txt en_BD.txt en_BG.txt\
 
 UNIT_SOURCE_LOCAL = iu.txt ms_Arab.txt tg.txt tk.txt\
        en_AD.txt en_AL.txt en_BA.txt en_BD.txt en_BG.txt\
-       en_CN.txt en_CZ.txt en_EE.txt en_ES.txt en_FR.txt\
+       en_CZ.txt en_EE.txt en_ES.txt en_FR.txt\
        en_GR.txt en_HR.txt en_HU.txt en_ID.txt en_IS.txt\
        en_IT.txt en_JP.txt en_LT.txt en_LU.txt en_LV.txt\
        en_ME.txt en_MV.txt en_NO.txt en_PL.txt en_PT.txt\
        en_RO.txt en_RU.txt en_SK.txt en_TH.txt en_TR.txt\
        es_AG.txt es_AI.txt es_AW.txt es_BB.txt es_BL.txt\
        en_GR.txt en_HR.txt en_HU.txt en_ID.txt en_IS.txt\
        en_IT.txt en_JP.txt en_LT.txt en_LU.txt en_LV.txt\
        en_ME.txt en_MV.txt en_NO.txt en_PL.txt en_PT.txt\
        en_RO.txt en_RU.txt en_SK.txt en_TH.txt en_TR.txt\
        es_AG.txt es_AI.txt es_AW.txt es_BB.txt es_BL.txt\
-       es_BM.txt es_BQ.txt es_BS.txt es_CW.txt es_DM.txt\
+       es_BM.txt es_BQ.txt es_BS.txt es_CA.txt es_CW.txt es_DM.txt\
        es_FK.txt es_GD.txt es_GF.txt es_GL.txt es_GP.txt\
        es_GY.txt es_HT.txt es_KN.txt es_KY.txt es_LC.txt\
        es_MF.txt es_MQ.txt es_MS.txt es_PM.txt es_SR.txt\
        es_FK.txt es_GD.txt es_GF.txt es_GL.txt es_GP.txt\
        es_GY.txt es_HT.txt es_KN.txt es_KY.txt es_LC.txt\
        es_MF.txt es_MQ.txt es_MS.txt es_PM.txt es_SR.txt\
diff --git a/icuSources/data/zone/en_CN.txt b/icuSources/data/zone/en_CN.txt
new file mode 100644 (file)
index 0000000..daba2f5
--- /dev/null
@@ -0,0 +1,47 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+en_CN{
+    Version{"2.1.32.59"}
+    zoneStrings{
+        "Pacific:Honolulu"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:Alaska"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:America_Central"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:America_Eastern"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:America_Mountain"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:America_Pacific"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:Atlantic"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:Hawaii_Aleutian"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+    }
+}
diff --git a/icuSources/data/zone/en_TW.txt b/icuSources/data/zone/en_TW.txt
new file mode 100644 (file)
index 0000000..d92f793
--- /dev/null
@@ -0,0 +1,47 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+en_TW{
+    Version{"2.1.32.59"}
+    zoneStrings{
+        "Pacific:Honolulu"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:Alaska"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:America_Central"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:America_Eastern"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:America_Mountain"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:America_Pacific"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:Atlantic"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+        "meta:Hawaii_Aleutian"{
+            sd{"∅∅∅"}
+            sg{"∅∅∅"}
+            ss{"∅∅∅"}
+        }
+    }
+}
diff --git a/icuSources/data/zone/es_CA.txt b/icuSources/data/zone/es_CA.txt
new file mode 100644 (file)
index 0000000..189a279
--- /dev/null
@@ -0,0 +1,38 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+es_CA{
+    %%Parent{"es_419"}
+    Version{"2.1.31.74"}
+    zoneStrings{
+        "meta:Alaska"{
+            sd{"AKDT"}
+            sg{"AKT"}
+            ss{"AKST"}
+        }
+        "meta:America_Central"{
+            sd{"CDT"}
+            sg{"CT"}
+            ss{"CST"}
+        }
+        "meta:America_Eastern"{
+            sd{"EDT"}
+            sg{"ET"}
+            ss{"EST"}
+        }
+        "meta:America_Mountain"{
+            sd{"MDT"}
+            sg{"MT"}
+            ss{"MST"}
+        }
+        "meta:America_Pacific"{
+            sd{"PDT"}
+            sg{"PT"}
+            ss{"PST"}
+        }
+        "meta:Atlantic"{
+            sd{"ADT"}
+            sg{"AT"}
+            ss{"AST"}
+        }
+    }
+}
index 26ffc306d9eaadc2e74d9ee6a023e39e6e644cc8..455e1221f1ba5421d41fcb250a27d59972881eaa 100644 (file)
@@ -5,13 +5,13 @@
 
 ZONE_SOURCE_LOCAL = iu.txt ms_Arab.txt tg.txt tk.txt\
        en_AD.txt en_AL.txt en_BA.txt en_BD.txt en_BG.txt\
 
 ZONE_SOURCE_LOCAL = iu.txt ms_Arab.txt tg.txt tk.txt\
        en_AD.txt en_AL.txt en_BA.txt en_BD.txt en_BG.txt\
-       en_CZ.txt en_EE.txt en_ES.txt en_FR.txt en_GR.txt\
+       en_CN.txt en_CZ.txt en_EE.txt en_ES.txt en_FR.txt en_GR.txt\
        en_HR.txt en_HU.txt en_ID.txt en_IS.txt en_IT.txt\
        en_JP.txt en_LT.txt en_LU.txt en_LV.txt en_ME.txt\
        en_NO.txt en_PL.txt en_PT.txt en_RO.txt en_RU.txt\
        en_HR.txt en_HU.txt en_ID.txt en_IS.txt en_IT.txt\
        en_JP.txt en_LT.txt en_LU.txt en_LV.txt en_ME.txt\
        en_NO.txt en_PL.txt en_PT.txt en_RO.txt en_RU.txt\
-       en_SK.txt en_TH.txt en_TR.txt\
+       en_SK.txt en_TH.txt en_TR.txt en_TW.txt\
        es_AG.txt es_AI.txt es_AW.txt es_BB.txt es_BL.txt\
        es_AG.txt es_AI.txt es_AW.txt es_BB.txt es_BL.txt\
-       es_BM.txt es_BQ.txt es_BS.txt es_CW.txt es_DM.txt\
+       es_BM.txt es_BQ.txt es_BS.txt es_CA.txt es_CW.txt es_DM.txt\
        es_FK.txt es_GD.txt es_GF.txt es_GL.txt es_GP.txt\
        es_GY.txt es_HT.txt es_KN.txt es_KY.txt es_LC.txt\
        es_MF.txt es_MQ.txt es_MS.txt es_PM.txt es_SR.txt\
        es_FK.txt es_GD.txt es_GF.txt es_GL.txt es_GP.txt\
        es_GY.txt es_HT.txt es_KN.txt es_KY.txt es_LC.txt\
        es_MF.txt es_MQ.txt es_MS.txt es_PM.txt es_SR.txt\
index b49359e7cb45eb0f96a8ee3dfcac289e4bdce65e..c85b17e474343c9d9452f0e29cc9415363728289 100644 (file)
@@ -840,7 +840,7 @@ static const RBBITailoringTest tailoringTests[] = {
     { "en",            UBRK_LINE,      fiTest, fiTestOffs_enFwd, fiTestOffs_enRev, UPRV_LENGTHOF(fiTestOffs_enFwd) },
     { "fi",            UBRK_LINE,      fiTest, fiTestOffs_fiFwd, fiTestOffs_fiRev, UPRV_LENGTHOF(fiTestOffs_fiFwd) },
     { "km",            UBRK_WORD,      kmTest, kmTestOffs_kmFwd, kmTestOffs_kmRev, UPRV_LENGTHOF(kmTestOffs_kmFwd) },
     { "en",            UBRK_LINE,      fiTest, fiTestOffs_enFwd, fiTestOffs_enRev, UPRV_LENGTHOF(fiTestOffs_enFwd) },
     { "fi",            UBRK_LINE,      fiTest, fiTestOffs_fiFwd, fiTestOffs_fiRev, UPRV_LENGTHOF(fiTestOffs_fiFwd) },
     { "km",            UBRK_WORD,      kmTest, kmTestOffs_kmFwd, kmTestOffs_kmRev, UPRV_LENGTHOF(kmTestOffs_kmFwd) },
-    { "ko",            UBRK_LINE,      koTest, koTestOffs_koKeepFwd, koTestOffs_koKeepRev, UPRV_LENGTHOF(koTestOffs_koKeepFwd) },
+    { "ko",            UBRK_LINE,      koTest, koTestOffs_koNormFwd, koTestOffs_koNormRev, UPRV_LENGTHOF(koTestOffs_koNormFwd) },
     { "ko@lw=keepall", UBRK_LINE,      koTest, koTestOffs_koKeepFwd, koTestOffs_koKeepRev, UPRV_LENGTHOF(koTestOffs_koKeepFwd) },
     { "ko@lw=normal",  UBRK_LINE,      koTest, koTestOffs_koNormFwd, koTestOffs_koNormRev, UPRV_LENGTHOF(koTestOffs_koNormFwd) },
     { NULL, 0, NULL, NULL, NULL, 0 },
     { "ko@lw=keepall", UBRK_LINE,      koTest, koTestOffs_koKeepFwd, koTestOffs_koKeepRev, UPRV_LENGTHOF(koTestOffs_koKeepFwd) },
     { "ko@lw=normal",  UBRK_LINE,      koTest, koTestOffs_koNormFwd, koTestOffs_koNormRev, UPRV_LENGTHOF(koTestOffs_koNormFwd) },
     { NULL, 0, NULL, NULL, NULL, 0 },
@@ -1182,6 +1182,8 @@ static void TestBreakIteratorSuppressions(void) {
 
 #if APPLE_ADDITIONS
 #include <stdio.h>
 
 #if APPLE_ADDITIONS
 #include <stdio.h>
+#include <unistd.h>
+#include <mach/mach_time.h>
 #include "unicode/urbtok.h"
 #include "cstring.h"
 
 #include "unicode/urbtok.h"
 #include "cstring.h"
 
@@ -1347,13 +1349,22 @@ static void TestRuleBasedTokenizer(void) {
     if (U_FAILURE(status)) {
         log_data_err("FAIL: u_strFromUTF8 fails: %s\n", u_errorName(status));
     } else {
     if (U_FAILURE(status)) {
         log_data_err("FAIL: u_strFromUTF8 fails: %s\n", u_errorName(status));
     } else {
+           mach_timebase_info_data_t info;
+           uint64_t start, duration;
         UParseError parseErr;
         UParseError parseErr;
-        UBreakIterator *brkFromRules = urbtok_openRules(testRulesUTF16Buf, testRulesUTF16Size, &parseErr, &status);
+        UBreakIterator *brkFromRules;
+
+        mach_timebase_info(&info);
+
+        start = mach_absolute_time();
+        brkFromRules = urbtok_openRules(testRulesUTF16Buf, testRulesUTF16Size, &parseErr, &status);
+        duration = ((mach_absolute_time() - start) * info.numer)/info.denom;
         if (U_FAILURE(status)) {
         if (U_FAILURE(status)) {
-            log_err("FAIL: urbtok_openRules status: %s\n", u_errorName(status));
+            log_err("FAIL: urbtok_openRules status: %s, line %d, col %d\n", u_errorName(status), parseErr.line, parseErr.offset);
         } else {
             uint8_t *rulesBinaryBuf;
             uint32_t rulesBinarySize;
         } else {
             uint8_t *rulesBinaryBuf;
             uint32_t rulesBinarySize;
+            log_info("urbtok_openRules nsec %llu\n", duration);
             rulesBinarySize = urbtok_getBinaryRules(brkFromRules, NULL, 0, &status);
             if (U_FAILURE(status)) {
                 log_err("FAIL: urbtok_getBinaryRules preflight status: %s, rulesBinarySize %u\n", u_errorName(status), rulesBinarySize);
             rulesBinarySize = urbtok_getBinaryRules(brkFromRules, NULL, 0, &status);
             if (U_FAILURE(status)) {
                 log_err("FAIL: urbtok_getBinaryRules preflight status: %s, rulesBinarySize %u\n", u_errorName(status), rulesBinarySize);
@@ -1362,11 +1373,17 @@ static void TestRuleBasedTokenizer(void) {
                 if (rulesBinaryBuf == NULL) {
                     log_data_err("FAIL: uprv_malloc fails for rulesBinaryBuf[%ld]\n", rulesBinarySize);
                 } else {
                 if (rulesBinaryBuf == NULL) {
                     log_data_err("FAIL: uprv_malloc fails for rulesBinaryBuf[%ld]\n", rulesBinarySize);
                 } else {
+                    start = mach_absolute_time();
                     rulesBinarySize = urbtok_getBinaryRules(brkFromRules, rulesBinaryBuf, rulesBinarySize, &status);
                     rulesBinarySize = urbtok_getBinaryRules(brkFromRules, rulesBinaryBuf, rulesBinarySize, &status);
+                    duration = ((mach_absolute_time() - start) * info.numer)/info.denom;
                     if (U_FAILURE(status)) {
                         log_err("FAIL: urbtok_getBinaryRules status: %s, rulesBinarySize %u\n", u_errorName(status), rulesBinarySize);
                     } else {
                     if (U_FAILURE(status)) {
                         log_err("FAIL: urbtok_getBinaryRules status: %s, rulesBinarySize %u\n", u_errorName(status), rulesBinarySize);
                     } else {
-                        UBreakIterator *brkFromBinary = urbtok_openBinaryRules(rulesBinaryBuf, &status);
+                        UBreakIterator *brkFromBinary;
+                        log_info("urbtok_getBinaryRules nsec %llu\n", duration);
+                        start = mach_absolute_time();
+                        brkFromBinary = urbtok_openBinaryRules(rulesBinaryBuf, &status);
+                        duration = ((mach_absolute_time() - start) * info.numer)/info.denom;
                         if (U_FAILURE(status)) {
                             log_err("FAIL: urbtok_openBinaryRules status: %s\n", u_errorName(status));
                         } else {
                         if (U_FAILURE(status)) {
                             log_err("FAIL: urbtok_openBinaryRules status: %s\n", u_errorName(status));
                         } else {
@@ -1374,12 +1391,16 @@ static void TestRuleBasedTokenizer(void) {
                             unsigned long       flags[kMaxTokens];
                             int32_t iToken, numTokens = 0;
 
                             unsigned long       flags[kMaxTokens];
                             int32_t iToken, numTokens = 0;
 
+                            log_info("urbtok_openBinaryRules nsec %llu\n", duration);
+
                             status = U_ZERO_ERROR;
                             ubrk_setText(brkFromRules, textToTokenize, -1, &status);
                             if (U_FAILURE(status)) {
                                 log_err("FAIL: ubrk_setText brkFromRules status: %s\n", u_errorName(status));
                             } else {
                             status = U_ZERO_ERROR;
                             ubrk_setText(brkFromRules, textToTokenize, -1, &status);
                             if (U_FAILURE(status)) {
                                 log_err("FAIL: ubrk_setText brkFromRules status: %s\n", u_errorName(status));
                             } else {
+                                start = mach_absolute_time();
                                 numTokens = urbtok_tokenize(brkFromRules, kMaxTokens, tokens, flags);
                                 numTokens = urbtok_tokenize(brkFromRules, kMaxTokens, tokens, flags);
+                                duration = ((mach_absolute_time() - start) * info.numer)/info.denom;
                                 UBool fail = (numTokens != kNumTokensExpected);
                                 for (iToken = 0; !fail && iToken < numTokens; iToken++) {
                                     if (  tokens[iToken].location != expectedResults[iToken].token.location ||
                                 UBool fail = (numTokens != kNumTokensExpected);
                                 for (iToken = 0; !fail && iToken < numTokens; iToken++) {
                                     if (  tokens[iToken].location != expectedResults[iToken].token.location ||
@@ -1389,7 +1410,7 @@ static void TestRuleBasedTokenizer(void) {
                                     }
                                 }
                                 if (fail) {
                                     }
                                 }
                                 if (fail) {
-                                    log_err("FAIL: urbtok_tokenize brkFromRules expected %d tokens, got %d\n", kNumTokensExpected, numTokens);
+                                    log_err("FAIL: urbtok_tokenize bulk brkFromRules expected %d tokens, got %d\n", kNumTokensExpected, numTokens);
                                     printf("# expect          get\n");
                                     printf("# loc len flags   loc len flags\n");
                                     int32_t maxTokens = (numTokens >= kNumTokensExpected)? numTokens: kNumTokensExpected;
                                     printf("# expect          get\n");
                                     printf("# loc len flags   loc len flags\n");
                                     int32_t maxTokens = (numTokens >= kNumTokensExpected)? numTokens: kNumTokensExpected;
@@ -1406,6 +1427,8 @@ static void TestRuleBasedTokenizer(void) {
                                             printf("\n");
                                         }
                                     }
                                             printf("\n");
                                         }
                                     }
+                                } else {
+                                    log_info("Latn urbtok_tokenize bulk brkFromRules nsec %llu\n", duration);
                                 }
                             }
 
                                 }
                             }
 
@@ -1414,7 +1437,9 @@ static void TestRuleBasedTokenizer(void) {
                             if (U_FAILURE(status)) {
                                 log_err("FAIL: ubrk_setText brkFromBinary status: %s\n", u_errorName(status));
                             } else {
                             if (U_FAILURE(status)) {
                                 log_err("FAIL: ubrk_setText brkFromBinary status: %s\n", u_errorName(status));
                             } else {
+                                start = mach_absolute_time();
                                 numTokens = urbtok_tokenize(brkFromBinary, kMaxTokens, tokens, flags);
                                 numTokens = urbtok_tokenize(brkFromBinary, kMaxTokens, tokens, flags);
+                                duration = ((mach_absolute_time() - start) * info.numer)/info.denom;
                                 UBool fail = (numTokens != kNumTokensExpected);
                                 for (iToken = 0; !fail && iToken < numTokens; iToken++) {
                                     if (  tokens[iToken].location != expectedResults[iToken].token.location ||
                                 UBool fail = (numTokens != kNumTokensExpected);
                                 for (iToken = 0; !fail && iToken < numTokens; iToken++) {
                                     if (  tokens[iToken].location != expectedResults[iToken].token.location ||
@@ -1424,7 +1449,7 @@ static void TestRuleBasedTokenizer(void) {
                                     }
                                 }
                                 if (fail) {
                                     }
                                 }
                                 if (fail) {
-                                    log_err("FAIL: urbtok_tokenize brkFromBinary expected %d tokens, got %d\n", kNumTokensExpected, numTokens);
+                                    log_err("FAIL: urbtok_tokenize bulk brkFromBinary expected %d tokens, got %d\n", kNumTokensExpected, numTokens);
                                     printf("# expect          get\n");
                                     printf("# loc len flags   loc len flags\n");
                                     int32_t maxTokens = (numTokens >= kNumTokensExpected)? numTokens: kNumTokensExpected;
                                     printf("# expect          get\n");
                                     printf("# loc len flags   loc len flags\n");
                                     int32_t maxTokens = (numTokens >= kNumTokensExpected)? numTokens: kNumTokensExpected;
@@ -1441,8 +1466,57 @@ static void TestRuleBasedTokenizer(void) {
                                             printf("\n");
                                         }
                                     }
                                             printf("\n");
                                         }
                                     }
+                                } else {
+                                     log_info("Latn urbtok_tokenize bulk brkFromBinary nsec %llu\n", duration);
+                               }
+                            }
+
+                            status = U_ZERO_ERROR;
+                            ubrk_setText(brkFromBinary, textToTokenize, -1, &status);
+                            if (U_FAILURE(status)) {
+                                log_err("FAIL: ubrk_setText brkFromBinary status: %s\n", u_errorName(status));
+                            } else {
+                                RuleBasedTokenRange *tokenLimit = tokens + kMaxTokens;
+                                RuleBasedTokenRange *tokenP;
+                                unsigned long *flagsP;
+
+                                start = mach_absolute_time();
+                                                       for (tokenP = tokens, flagsP = flags; tokenP < tokenLimit && urbtok_tokenize(brkFromBinary, 1, tokenP, flagsP) == 1; tokenP++, flagsP++) {
+                                                           ;
+                                                       }
+                                numTokens = tokenP - tokens;
+                                duration = ((mach_absolute_time() - start) * info.numer)/info.denom;
+                                UBool fail = (numTokens != kNumTokensExpected);
+                                for (iToken = 0; !fail && iToken < numTokens; iToken++) {
+                                    if (  tokens[iToken].location != expectedResults[iToken].token.location ||
+                                          tokens[iToken].length   != expectedResults[iToken].token.length   ||
+                                          flags[iToken]           != expectedResults[iToken].flags ) {
+                                        fail = TRUE;
+                                    }
                                 }
                                 }
+                                if (fail) {
+                                    log_err("FAIL: urbtok_tokenize loop brkFromBinary expected %d tokens, got %d\n", kNumTokensExpected, numTokens);
+                                    printf("# expect          get\n");
+                                    printf("# loc len flags   loc len flags\n");
+                                    int32_t maxTokens = (numTokens >= kNumTokensExpected)? numTokens: kNumTokensExpected;
+                                    for (iToken = 0; iToken < maxTokens; iToken++) {
+                                        if (iToken < kNumTokensExpected) {
+                                            printf("  %3ld %3ld 0x%03lX", expectedResults[iToken].token.location,
+                                                expectedResults[iToken].token.length, expectedResults[iToken].flags);
+                                        } else {
+                                            printf("             ");
+                                        }
+                                        if (iToken < numTokens) {
+                                            printf("   %3ld %3ld 0x%03lX\n",  tokens[iToken].location, tokens[iToken].length, flags[iToken] );
+                                        } else {
+                                            printf("\n");
+                                        }
+                                    }
+                                } else {
+                                     log_info("Latn urbtok_tokenize loop brkFromBinary nsec %llu\n", duration);
+                               }
                             }
                             }
+
                             ubrk_close(brkFromBinary);
                         }
                     }
                             ubrk_close(brkFromBinary);
                         }
                     }
index e94c2132993d3f1ea3ba664c0029c8017dcb25b4..4d6e022bde4e48fb638306028a5421eb196985d7 100644 (file)
@@ -1945,8 +1945,8 @@ typedef struct {
 
 static const StandardPatternItem stdPatternItems[] = {
     { "en_JP", UDAT_MEDIUM, UDAT_SHORT, "Feb 25, 2015 5:10" },
 
 static const StandardPatternItem stdPatternItems[] = {
     { "en_JP", UDAT_MEDIUM, UDAT_SHORT, "Feb 25, 2015 5:10" },
-    { "en_CN", UDAT_MEDIUM, UDAT_SHORT, "25 Feb 2015 at 5:10 AM" },
-    { "en_TW", UDAT_MEDIUM, UDAT_SHORT, "25 Feb 2015 at 5:10 AM" },
+    { "en_CN", UDAT_MEDIUM, UDAT_SHORT, "Feb 25, 2015 at 5:10 AM" },
+    { "en_TW", UDAT_MEDIUM, UDAT_SHORT, "Feb 25, 2015 at 5:10 AM" },
     { "en_KR", UDAT_MEDIUM, UDAT_SHORT, "25 Feb 2015 at 5:10 AM" },
     { NULL, (UDateFormatStyle)0, (UDateFormatStyle)0, NULL } /* terminator */
 };
     { "en_KR", UDAT_MEDIUM, UDAT_SHORT, "25 Feb 2015 at 5:10 AM" },
     { NULL, (UDateFormatStyle)0, (UDateFormatStyle)0, NULL } /* terminator */
 };
index 60730d5f6be1292b03196c2905e4f1e8ac687395..b685196b68ac3616642a9137ac8c4749934794e6 100644 (file)
@@ -6565,6 +6565,9 @@ static const char* localesAndAppleParent[] = {
     "en",               "root",
     "en-US",            "en",
     "en-CA",            "en_001",
     "en",               "root",
     "en-US",            "en",
     "en-CA",            "en_001",
+    "en-CN",            "en",
+    "en-JP",            "en",
+    "en-TW",            "en",
     "en-001",           "en",
     "en_001",           "en",
     "en-150",           "en_GB",
     "en-001",           "en",
     "en_001",           "en",
     "en-150",           "en_GB",
@@ -6601,6 +6604,7 @@ static const char* localesAndAppleParent[] = {
     "es-BZ",            "es_419",
     "es-AG",            "es_419",
     "es-AW",            "es_419",
     "es-BZ",            "es_419",
     "es-AG",            "es_419",
     "es-AW",            "es_419",
+    "es-CA",            "es_419",
     "es-CW",            "es_419",
     "es-SX",            "es_419",
     "es-TT",            "es_419",
     "es-CW",            "es_419",
     "es-SX",            "es_419",
     "es-TT",            "es_419",
@@ -7021,7 +7025,9 @@ static const LangAndExpLocs appleLangAndLoc[] = {
     { "en",                 { l1_Eng,         l1_en,          l1_en,          l1_en,          l1_en,          l1_en          } },
     { "en-US",              { l1_Eng,         l1_en,          l1_en,          l2_en_US_,      l1_en,          l1_en          } },
     { "en_US",              { l1_Eng,         l1_en,          l1_en,          l2_en_US_,      l1_en,          l1_en          } },
     { "en",                 { l1_Eng,         l1_en,          l1_en,          l1_en,          l1_en,          l1_en          } },
     { "en-US",              { l1_Eng,         l1_en,          l1_en,          l2_en_US_,      l1_en,          l1_en          } },
     { "en_US",              { l1_Eng,         l1_en,          l1_en,          l2_en_US_,      l1_en,          l1_en          } },
+    { "en-CN",              { l1_Eng,         l1_en,          l1_en,          l1_en,          l1_en,          l1_en          } },
     { "en-JP",              { l1_Eng,         l1_en,          l1_en,          l1_en,          l1_en,          l1_en          } },
     { "en-JP",              { l1_Eng,         l1_en,          l1_en,          l1_en,          l1_en,          l1_en          } },
+    { "en-TW",              { l1_Eng,         l1_en,          l1_en,          l1_en,          l1_en,          l1_en          } },
     { "en-TR",              { l1_Eng,         l1_en,          l1_en,          l1_en,          l1_en,          l1_en          } },
     { "en-001",             { l1_Eng,         l1_en,          l1_en,          l1_en,          l2_en_001_,     l2_en_001_     } },
     { "en-CA",              { l1_Eng,         l1_en,          l2_en_CA_,      l2_en_CA_,      l2_en_001_,     l2_en_001_     } },
     { "en-TR",              { l1_Eng,         l1_en,          l1_en,          l1_en,          l1_en,          l1_en          } },
     { "en-001",             { l1_Eng,         l1_en,          l1_en,          l1_en,          l2_en_001_,     l2_en_001_     } },
     { "en-CA",              { l1_Eng,         l1_en,          l2_en_CA_,      l2_en_CA_,      l2_en_001_,     l2_en_001_     } },
@@ -7062,6 +7068,7 @@ static const LangAndExpLocs appleLangAndLoc[] = {
     { "es-BZ",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-AG",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-AW",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-BZ",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-AG",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-AW",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
+    { "es-CA",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-CW",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-SX",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-TT",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-CW",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-SX",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
     { "es-TT",              { l1_Spa,         l1_es,          l2_es_419_,     l2_es_419_,     l1_es,          l2_es_419_     } },
@@ -7365,6 +7372,14 @@ static const char * prefLangsMN2[]  = { "en-SA" };
 static const char * prefLangsMN3[]  = { "en-TW" };
 static const char * prefLangsMN4[]  = { "en-JP" };
 static const char * locsToUseMN_U[] = { "en-US" };
 static const char * prefLangsMN3[]  = { "en-TW" };
 static const char * prefLangsMN4[]  = { "en-JP" };
 static const char * locsToUseMN_U[] = { "en-US" };
+// Per <rdar://problem/36010857>
+static const char * appleLocsMO[]   = { "Dutch", "French", "German", "Italian", "Japanese", "Spanish",
+                                        "ar", "ca", "cs", "da", "el", "en_AU", "en_GB", "en_IN",
+                                        "es_419", "fi", "fr_CA", "he", "hi", "hr", "hu", "id", "ko",
+                                        "ms", "no", "pl", "pt", "pt_PT", "ro", "ru", "sk", "sv",
+                                        "th", "tr", "uk", "vi", "zh_CN", "zh_HK", "zh_TW" };
+static const char * prefLangsMO1[]  = { "en-US" };
+static const char * locsToUseMO1[]  = { "en_GB" };
 
 typedef struct {
     const char *  name;
 
 typedef struct {
     const char *  name;
@@ -7440,6 +7455,7 @@ static const MultiPrefTest multiTestSets[] = {
     { "MN2",   appleLocsMN,   UPRV_LENGTHOF(appleLocsMN),  prefLangsMN2, UPRV_LENGTHOF(prefLangsMN2), locsToUseMN_U,   UPRV_LENGTHOF(locsToUseMN_U) },
     { "MN3",   appleLocsMN,   UPRV_LENGTHOF(appleLocsMN),  prefLangsMN3, UPRV_LENGTHOF(prefLangsMN3), locsToUseMN_U,   UPRV_LENGTHOF(locsToUseMN_U) },
     { "MN4",   appleLocsMN,   UPRV_LENGTHOF(appleLocsMN),  prefLangsMN4, UPRV_LENGTHOF(prefLangsMN4), locsToUseMN_U,   UPRV_LENGTHOF(locsToUseMN_U) },
     { "MN2",   appleLocsMN,   UPRV_LENGTHOF(appleLocsMN),  prefLangsMN2, UPRV_LENGTHOF(prefLangsMN2), locsToUseMN_U,   UPRV_LENGTHOF(locsToUseMN_U) },
     { "MN3",   appleLocsMN,   UPRV_LENGTHOF(appleLocsMN),  prefLangsMN3, UPRV_LENGTHOF(prefLangsMN3), locsToUseMN_U,   UPRV_LENGTHOF(locsToUseMN_U) },
     { "MN4",   appleLocsMN,   UPRV_LENGTHOF(appleLocsMN),  prefLangsMN4, UPRV_LENGTHOF(prefLangsMN4), locsToUseMN_U,   UPRV_LENGTHOF(locsToUseMN_U) },
+    { "MO",   appleLocsMO,   UPRV_LENGTHOF(appleLocsMO),  prefLangsMO1, UPRV_LENGTHOF(prefLangsMO1), locsToUseMO1,   UPRV_LENGTHOF(locsToUseMO1) },
 
     { NULL, NULL, 0, NULL, 0, NULL, 0 }
 };
 
     { NULL, NULL, 0, NULL, 0, NULL, 0 }
 };
index a2225b5858c601992075131c12d6b580aa976a87..6a253e06cdf331837401b9c4843e05b2f9284d73 100644 (file)
@@ -1039,6 +1039,7 @@ void DateIntervalFormatTest::testFormat() {
 
         "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "MMM", "\\u0E15.\\u0E04.\\u2013\\u0E1E.\\u0E22.",
 
 
         "th", "2550 10 10 10:10:10", "2550 11 10 10:10:10", "MMM", "\\u0E15.\\u0E04.\\u2013\\u0E1E.\\u0E22.",
 
+        "ar@calendar=islamic", "1438 10 10 10:10:10", "1438 10 20 10:10:10", "MMMd", "\\u0661\\u0660\\u2013\\u0662\\u0660 \\u0634\\u0648\\u0627\\u0644",
     };
     expect(DATA, UPRV_LENGTHOF(DATA));
 }
     };
     expect(DATA, UPRV_LENGTHOF(DATA));
 }
index 4473173390572cd6af24bda88f9c688a78e3c8c9..3730096d717f022a0af71bf0c569c24ab5dbdbce 100644 (file)
@@ -1147,13 +1147,12 @@ Bangkok)•</data>
 ####################################################################################
 #
 #  Apple tests for @lw=keepall per <rdar://problem/11679343&16501490>
 ####################################################################################
 #
 #  Apple tests for @lw=keepall per <rdar://problem/11679343&16501490>
-#  Default changes per <rdar://problem/23224717>
 #
 ####################################################################################
 
 <locale ko>
 <line>
 #
 ####################################################################################
 
 <locale ko>
 <line>
-<data>•\uBAA8\uB4E0 •\uC778\uB958 •\uAD6C\uC131\uC6D0\uC758 •\uCC9C\uBD80\uC758 •\uC874\uC5C4\uC131\uACFC •\uB3D9\uB4F1\uD558\uACE0 •\uC591\uB3C4\uD560•</data>
+<data>•\uBAA8•\uB4E0 •\uC778•\uB958 •\uAD6C•\uC131•\uC6D0•\uC758 •\uCC9C•\uBD80•\uC758 •\uC874•\uC5C4•\uC131•\uACFC •\uB3D9•\uB4F1•\uD558•\uACE0 •\uC591•\uB3C4•\uD560•</data>
 
 <locale ko@lw=keepall>
 <line>
 
 <locale ko@lw=keepall>
 <line>
index f641f295f12b16d330d846fb3975d49178639c23..bf1299cb30e7510ec675fbd2d5a9fa635fa4a578 100644 (file)
@@ -76,6 +76,10 @@ tzorig:      $(TZCODE) $(TZDATA)
        cp $(srcdir)/zdump.c $(TZORIG)/zdump.c
        -mv $(TZORIG)/factory $(TZORIG)/factory.orig
        cat $(TZORIG)/factory.orig $(srcdir)/icuzones > $(TZORIG)/factory
        cp $(srcdir)/zdump.c $(TZORIG)/zdump.c
        -mv $(TZORIG)/factory $(TZORIG)/factory.orig
        cat $(TZORIG)/factory.orig $(srcdir)/icuzones > $(TZORIG)/factory
+       -mv $(TZORIG)/zishrink.awk $(TZORIG)/zishrink.awk.orig
+       sed -e '/if (line ~ \/^R SystemV \/) return/s/^/#/' $(TZORIG)/zishrink.awk.orig > $(TZORIG)/zishrink.awk
+       -mv $(TZORIG)/Makefile $(TZORIG)/Makefile.orig
+       sed -e "s/BACKWARD=\$$(BACKWARD)/BACKWARD='\$$(BACKWARD)'/" $(TZORIG)/Makefile.orig > $(TZORIG)/Makefile
        $(MAKE) -C $@ $(TZORIG_OPTS) zdump zones
 
 $(ZDUMPOUT): tzorig
        $(MAKE) -C $@ $(TZORIG_OPTS) zdump zones
 
 $(ZDUMPOUT): tzorig
index 1c93f7de03e65ebf54332c26348f8317fb790318..9e3c7c9c7251288b27fcd85aecbda7618b14995d 100644 (file)
@@ -71,3 +71,10 @@ Link America/Los_Angeles PST
 Link Pacific/Guadalcanal SST
 #Link Etc/UTC UTC # Olson LINK
 Link Asia/Ho_Chi_Minh VST
 Link Pacific/Guadalcanal SST
 #Link Etc/UTC UTC # Olson LINK
 Link Asia/Ho_Chi_Minh VST
+
+#
+# Aliases already dropped from the TZ database.
+# ICU may also remove these aliases.
+#
+Link America/Regina Canada/East-Saskatchewan # removed from backward in 2017c
+
index c47c180ccff1215abdab6a47254395f852b66a25..0a299ef6f63c10be5d8d035934a8544760360fd3 100644 (file)
@@ -31,6 +31,7 @@
 
 #ifdef ICU
 #include "dirent.h"
 
 #ifdef ICU
 #include "dirent.h"
+#include "sys/stat.h"
 #endif
 
 #ifndef isascii
 #endif
 
 #ifndef isascii
@@ -428,7 +429,7 @@ main(int argc, char *argv[])
                }
                closedir(dp);
        }
                }
                closedir(dp);
        }
-#endif ICU
+#endif
 
        if (vflag | Vflag) {
                intmax_t        lo;
 
        if (vflag | Vflag) {
                intmax_t        lo;
@@ -495,7 +496,6 @@ main(int argc, char *argv[])
                int count;
 
                count = getall(&namelist);
                int count;
 
                count = getall(&namelist);
-
                fakeargv = (char **) malloc((size_t) (argc + count) * sizeof *argv);
                /*
                if ((fakeargv = (char **) malloc((size_t) (argc + count) * sizeof *argv)) == NULL) {
                fakeargv = (char **) malloc((size_t) (argc + count) * sizeof *argv);
                /*
                if ((fakeargv = (char **) malloc((size_t) (argc + count) * sizeof *argv)) == NULL) {
@@ -1020,9 +1020,9 @@ static void dumptimeICU(FILE * fp, time_t t)
        min = offset % 60;
        hour = offset / 60;
        
        min = offset % 60;
        hour = offset / 60;
        
-       fprintf(fp, "%02d", hour);
-       fprintf(fp, "%02d", min);
-       fprintf(fp, "%02d", sec);
+       fprintf(fp, "%02ld", hour);
+       fprintf(fp, "%02ld", min);
+       fprintf(fp, "%02ld", sec);
        fprintf(fp, "[DST=%d]", loc.tm_isdst);
 }
 
        fprintf(fp, "[DST=%d]", loc.tm_isdst);
 }
 
index 1bea0460c287412ecea07af0e2d463ac6cec4def..09487784b951db6f03180eac33ab5d96134ec5cf 100644 (file)
--- a/makefile
+++ b/makefile
@@ -219,13 +219,13 @@ $(info # SDKPATH=$(SDKPATH))
 # This corresponds to MMmAA.(0 | B).T where
 # MM is U_ICU_VERSION_MAJOR_NUM
 # m  is U_ICU_VERSION_MINOR_NUM
 # This corresponds to MMmAA.(0 | B).T where
 # MM is U_ICU_VERSION_MAJOR_NUM
 # m  is U_ICU_VERSION_MINOR_NUM
-# AA is the Apple delta version 
+# AA is the Apple delta version
 # B  is the Apple branch version (1 or 2 digits)
 # T  is the Apple train code for submissions.
 # Note The value for the SourceVersion property in version.plists will be calculated as
 # (X*10000 + Y*100 + Z).
 # We want ICU_BUILD = 100*AA + B.
 # B  is the Apple branch version (1 or 2 digits)
 # T  is the Apple train code for submissions.
 # Note The value for the SourceVersion property in version.plists will be calculated as
 # (X*10000 + Y*100 + Z).
 # We want ICU_BUILD = 100*AA + B.
-# 
+#
 ifneq "$(RC_ProjectSourceVersion)" ""
        ifeq "$(WINDOWS)" "YES"
                ICU_BUILD_AA  := $(shell echo $(RC_ProjectSourceVersion) | sed -r -e 's/([0-9]+)([0-9]{2})(\.([0-9])([0-9])?(\.([0-9]{1,2}))?)?/\2/')
 ifneq "$(RC_ProjectSourceVersion)" ""
        ifeq "$(WINDOWS)" "YES"
                ICU_BUILD_AA  := $(shell echo $(RC_ProjectSourceVersion) | sed -r -e 's/([0-9]+)([0-9]{2})(\.([0-9])([0-9])?(\.([0-9]{1,2}))?)?/\2/')
@@ -885,7 +885,7 @@ else ifeq "$(LINUX)" "YES"
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -fno-exceptions -fvisibility=hidden" \
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -fno-exceptions -fvisibility=hidden" \
-                       CXXFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
+                       CXXFLAGS="-std=c++11 -DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib64"
 
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib64"
 
@@ -893,7 +893,7 @@ else ifeq "$(LINUX)" "YES"
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -fno-exceptions -fvisibility=hidden" \
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -fno-exceptions -fvisibility=hidden" \
-                       CXXFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
+                       CXXFLAGS="-std=c++11 -DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib64"
 
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib64"
 
@@ -901,7 +901,7 @@ else ifeq "$(LINUX)" "YES"
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -O0 -gfull -fno-exceptions -fvisibility=hidden" \
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -O0 -gfull -fno-exceptions -fvisibility=hidden" \
-                       CXXFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -O0 -gfull -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
+                       CXXFLAGS="-std=c++11 -DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -O0 -gfull -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib64"
 
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib64"
 
@@ -909,7 +909,7 @@ else ifeq "$(LINUX)" "YES"
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -pg -fno-exceptions -fvisibility=hidden" \
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -pg -fno-exceptions -fvisibility=hidden" \
-                       CXXFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -pg -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
+                       CXXFLAGS="-std=c++11 -DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m64 -g -Os -pg -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib64"
        else
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib64"
        else
@@ -918,7 +918,7 @@ else ifeq "$(LINUX)" "YES"
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -fno-exceptions -fvisibility=hidden" \
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -fno-exceptions -fvisibility=hidden" \
-                       CXXFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
+                       CXXFLAGS="-std=c++11 -DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
@@ -926,7 +926,7 @@ else ifeq "$(LINUX)" "YES"
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -fno-exceptions -fvisibility=hidden" \
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -fno-exceptions -fvisibility=hidden" \
-                       CXXFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
+                       CXXFLAGS="-std=c++11 -DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
@@ -934,7 +934,7 @@ else ifeq "$(LINUX)" "YES"
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -O0 -gfull -fno-exceptions -fvisibility=hidden" \
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -O0 -gfull -fno-exceptions -fvisibility=hidden" \
-                       CXXFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -O0 -gfull -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
+                       CXXFLAGS="-std=c++11 -DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -O0 -gfull -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
@@ -942,7 +942,7 @@ else ifeq "$(LINUX)" "YES"
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -pg -fno-exceptions -fvisibility=hidden" \
                        CC="$(CC)" \
                        CXX="$(CXX)" \
                        CFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -pg -fno-exceptions -fvisibility=hidden" \
-                       CXXFLAGS="-DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -pg -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
+                       CXXFLAGS="-std=c++11 -DU_SHOW_CPLUSPLUS_API=1 -DU_SHOW_INTERNAL_API=1 -DICU_DATA_DIR=\"\\\"$(DATA_LOOKUP_DIR)\\\"\" -DICU_DATA_DIR_PREFIX_ENV_VAR=\"\\\"$(DATA_DIR_PREFIX_ENV_VAR)\\\"\" -m32 -g -Os -pg -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" \
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
        endif
                        TZDATA="$(TZDATA)" \
                        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
        endif
@@ -1379,6 +1379,9 @@ install : installhdrsint icu
                fi; \
                $(INSTALL) -b -m 0755 $(OBJROOT_CURRENT)/$(INSTALLED_DYLIB) $(DSTROOT)/$(libdir)$(INSTALLED_DYLIB); \
                if test "$(LINUX)" = "YES"; then \
                fi; \
                $(INSTALL) -b -m 0755 $(OBJROOT_CURRENT)/$(INSTALLED_DYLIB) $(DSTROOT)/$(libdir)$(INSTALLED_DYLIB); \
                if test "$(LINUX)" = "YES"; then \
+                       if test ! -d $(SYMROOT_CURRENT)/; then \
+                               $(INSTALL) -d -m 0755 $(SYMROOT_CURRENT)/; \
+                       fi; \
                        cp $(OBJROOT_CURRENT)/$(INSTALLED_DYLIB) $(SYMROOT_CURRENT)/$(INSTALLED_DYLIB); \
                        strip -x -S $(DSTROOT)/$(libdir)$(INSTALLED_DYLIB); \
                else \
                        cp $(OBJROOT_CURRENT)/$(INSTALLED_DYLIB) $(SYMROOT_CURRENT)/$(INSTALLED_DYLIB); \
                        strip -x -S $(DSTROOT)/$(libdir)$(INSTALLED_DYLIB); \
                else \
@@ -1470,6 +1473,9 @@ install_debug install_profile : $$(DEPEND_$$@)
                fi; \
                $(INSTALL) -b -m 0664 $(OBJROOT_CURRENT)/$($(INSTALLED_DYLIB_$(DEPEND_$@))) $(DSTROOT)/$(libdir)$($(INSTALLED_DYLIB_$(DEPEND_$@))); \
                if test "$(LINUX)" = "YES"; then \
                fi; \
                $(INSTALL) -b -m 0664 $(OBJROOT_CURRENT)/$($(INSTALLED_DYLIB_$(DEPEND_$@))) $(DSTROOT)/$(libdir)$($(INSTALLED_DYLIB_$(DEPEND_$@))); \
                if test "$(LINUX)" = "YES"; then \
+                       if test ! -d $(SYMROOT_CURRENT)/; then \
+                               $(INSTALL) -d -m 0755 $(SYMROOT_CURRENT)/; \
+                       fi; \
                        cp $(OBJROOT_CURRENT)/$($(INSTALLED_DYLIB_$(DEPEND_$@))) $(SYMROOT_CURRENT)/$($(INSTALLED_DYLIB_$(DEPEND_$@))); \
                        strip -x -S $(DSTROOT)/$(libdir)$($(INSTALLED_DYLIB_$(DEPEND_$@))); \
                else \
                        cp $(OBJROOT_CURRENT)/$($(INSTALLED_DYLIB_$(DEPEND_$@))) $(SYMROOT_CURRENT)/$($(INSTALLED_DYLIB_$(DEPEND_$@))); \
                        strip -x -S $(DSTROOT)/$(libdir)$($(INSTALLED_DYLIB_$(DEPEND_$@))); \
                else \