diff --git a/build/azure-nuget.yml b/build/azure-nuget.yml index 96ee572d936..be6cb83ec20 100644 --- a/build/azure-nuget.yml +++ b/build/azure-nuget.yml @@ -3,10 +3,7 @@ # no PR triggers pr: none -# We need to set the version for the PackageES builds. -name: $(BuildDefinitionName)-$(date:yyMM).$(date:dd)$(rev:rrr) - -# Code signing only runs on the MSCodeHub build pipeline. +# Note: Code signing is only enabled for the manually triggered build pipeline in MSCodeHub. variables: codeSign: ${{ eq(variables['System.definitionId'], '1386') }} BuildConfiguration: 'Release' @@ -245,13 +242,19 @@ stages: condition: and(succeeded(), eq(variables.codeSign, true)) dependsOn: Build pool: - name: Package ES CodeHub Lab E + name: Azure Pipelines + vmImage: 'windows-2019' jobs: - job: CodeSignBits - timeoutInMinutes: 45 + timeoutInMinutes: 60 workspace: clean: all - + variables: + signingPattern: | + icudt*.dll + icuuc*.dll + icuin*.dll + # This matrix strategy lets us code-sign the architectures in parallel. strategy: matrix: @@ -266,12 +269,6 @@ stages: - checkout: self lfs: true fetchDepth: 1 - - task: PkgESSetupBuild@10 - displayName: 'PkgES Setup Build' - inputs: - useDfs: false - productName: 'ms-icu-nuget' - disableOutputRedirect: true - task: PowerShell@2 displayName: 'Set Version' @@ -302,15 +299,47 @@ stages: scanType: 'Register' failOnAlert: true - - task: PkgESCodeSign@10 - displayName: 'CodeSign MS-ICU DLLs' - env: - SYSTEM_ACCESSTOKEN: $(system.accesstoken) - inputs: - signConfigXml: 'build\nuget\SignConfig-ICU-Binaries-runtime.xml' - signTimeOut: 30 - inPathRoot: '$(BUILD.ArtifactStagingDirectory)\bits\binaries-$(BuildPlatform)' - outPathRoot: '$(BUILD.ArtifactStagingDirectory)\bits\binaries-$(BuildPlatform)' + - task: EsrpCodeSigning@1 + displayName: 'ESRP CodeSigning - CodeSign DLLs' + inputs: + ConnectedServiceName: 'ESRP Code Signing for MS-ICU' + FolderPath: '$(BUILD.ArtifactStagingDirectory)\bits\binaries-$(BuildPlatform)' + Pattern: $(signingPattern) + UseMinimatch: true + signConfigType: 'inlineSignParams' + inlineOperation: | + [ + { + "keyCode": "CP-230012", + "operationSetCode": "SigntoolSign", + "parameters": [ + { + "parameterName": "OpusName", + "parameterValue": "Microsoft" + }, + { + "parameterName": "OpusInfo", + "parameterValue": "http://www.microsoft.com" + }, + { + "parameterName": "PageHash", + "parameterValue": "/NPH" + }, + { + "parameterName": "FileDigest", + "parameterValue": "/fd sha256" + }, + { + "parameterName": "TimeStamp", + "parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256" + } + ], + "toolName": "signtool.exe", + } + ] + SessionTimeout: '30' + MaxConcurrency: '20' + MaxRetryAttempts: '5' - task: PublishBuildArtifacts@1 displayName: 'Publish: binaries signed' @@ -318,19 +347,21 @@ stages: PathtoPublish: '$(Build.ArtifactStagingDirectory)\bits\binaries-$(BuildPlatform)' ArtifactName: 'win-$(BuildPlatform)' -- stage: Nuget +- stage: CreateNuget dependsOn: - Build - CodeSignBinaries + # This stage needs to depend on CodeSignBinaries for the Release-Nuget pipeline, but it will be skipped in the CI-Nuget pipeline. condition: and(in(dependencies.Build.result, 'Succeeded'), in(dependencies.CodeSignBinaries.result, 'Succeeded', 'Skipped')) pool: - name: Package ES CodeHub Lab E + name: Azure Pipelines + vmImage: 'windows-2019' variables: BuildPlatform: AnyCPU jobs: - - job: CreateNugetAndCodeSign - timeoutInMinutes: 45 + - job: CreateNugetJob + timeoutInMinutes: 30 workspace: clean: all steps: @@ -338,14 +369,6 @@ stages: lfs: true fetchDepth: 1 - - task: PkgESSetupBuild@10 - displayName: 'PkgES Setup Build' - inputs: - useDfs: false - productName: 'ms-icu-nuget' - disableOutputRedirect: true - condition: and(succeeded(), eq(variables.codeSign, true)) - - task: PowerShell@2 displayName: 'Set Version' inputs: @@ -434,6 +457,56 @@ stages: Tree /F /A $(BUILD.ArtifactStagingDirectory) displayName: 'DIAG: dir' + - task: PublishBuildArtifacts@1 + displayName: 'Publish: Nuget Packages' + inputs: + PathtoPublish: '$(BUILD.ArtifactStagingDirectory)\output\package' + ArtifactName: 'Nuget_Packages' + +- stage: CodeSignNuget + dependsOn: + - Build + - CodeSignBinaries + - CreateNuget + condition: and(eq(variables.codeSign, true), and(in(dependencies.CodeSignBinaries.result, 'Succeeded'), in(dependencies.CreateNuget.result, 'Succeeded'))) + pool: + name: Azure Pipelines + vmImage: 'windows-2019' + variables: + BuildPlatform: AnyCPU + + jobs: + - job: CodeSignNugetJob + timeoutInMinutes: 60 + workspace: + clean: all + steps: + - checkout: self + lfs: true + fetchDepth: 1 + + - task: PowerShell@2 + displayName: 'Set Version' + inputs: + targetType: filePath + filePath: './build/scripts/Set-ICUVersion.ps1' + arguments: '-icuVersionFile "$(BUILD.SOURCESDIRECTORY)\version.txt"' + + - task: NuGetToolInstaller@1 + displayName: 'Install NuGet' + + - task: DownloadBuildArtifacts@0 + displayName: 'Download Nuget' + inputs: + artifactName: 'Nuget_Packages' + downloadPath: '$(BUILD.ArtifactStagingDirectory)\nuget' + + - powershell: | + Write-Host "" + Write-Host "$(BUILD.ArtifactStagingDirectory)" + Tree /F /A $(BUILD.ArtifactStagingDirectory) + displayName: 'DIAG: dir' + - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 displayName: 'Component Governance Detection' inputs: @@ -441,22 +514,46 @@ stages: scanType: 'Register' failOnAlert: true - - task: PkgESCodeSign@10 - displayName: 'CodeSign MS-ICU Nuget' - env: - SYSTEM_ACCESSTOKEN: $(system.accesstoken) - inputs: - signConfigXml: 'build\nuget\SignConfig-ICU-Nuget.xml' - signTimeOut: 30 - inPathRoot: '$(BUILD.ArtifactStagingDirectory)\output\package' - outPathRoot: '$(BUILD.ArtifactStagingDirectory)\output\package' - condition: and(succeeded(), eq(variables.codeSign, true)) - + - task: EsrpCodeSigning@1 + inputs: + ConnectedServiceName: 'ESRP Code Signing for MS-ICU' + FolderPath: '$(BUILD.ArtifactStagingDirectory)\nuget\Nuget_Packages' + Pattern: | + *.nupkg + UseMinimatch: true + signConfigType: 'inlineSignParams' + inlineOperation: | + [ + { + "KeyCode" : "CP-401405", + "OperationCode" : "NuGetSign", + "Parameters" : {}, + "ToolName" : "sign", + "ToolVersion" : "1.0" + }, + { + "KeyCode" : "CP-401405", + "OperationCode" : "NuGetVerify", + "Parameters" : {}, + "ToolName" : "sign", + "ToolVersion" : "1.0" + } + ] + SessionTimeout: '30' + MaxConcurrency: '20' + MaxRetryAttempts: '5' + + - powershell: | + Write-Host "" + Write-Host "$(BUILD.ArtifactStagingDirectory)" + Tree /F /A $(BUILD.ArtifactStagingDirectory) + displayName: 'DIAG: dir' + - task: PublishBuildArtifacts@1 displayName: 'Publish: Nuget Packages' inputs: - PathtoPublish: '$(BUILD.ArtifactStagingDirectory)\output\package' - ArtifactName: 'Nuget_Packages' + PathtoPublish: '$(BUILD.ArtifactStagingDirectory)\nuget\Nuget_Packages' + ArtifactName: 'Nuget_Packages_Signed' # Publish the Windows Symbols to the public symbols server - task: PublishSymbols@2 @@ -473,15 +570,3 @@ stages: env: ArtifactServices_Symbol_AccountName: microsoftpublicsymbols ArtifactServices_Symbol_UseAAD: true - - - task: PkgESSerializeForPostBuild@10 - displayName: 'PkgES Post Build Serialization' - continueOnError: true - condition: and(succeeded(), eq(variables.codeSign, true)) - - - task: PkgESLateTasks@10 - displayName: 'PkgES Finalize and Cleanup' - inputs: - enablePostBuild: false - enableLatest: false - condition: and(succeeded(), eq(variables.codeSign, true)) diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml index c253c6368ae..650e94f69b7 100644 --- a/build/azure-pipelines.yml +++ b/build/azure-pipelines.yml @@ -396,3 +396,45 @@ jobs: env: CC: clang CXX: clang++ + +#------------------------------------------------------------------------- + +- job: ICU4C_Clang_Valgrind_Ubuntu_1604 + displayName: 'C: Linux Clang Valgrind (Ubuntu 16.04)' + timeoutInMinutes: 60 + pool: + vmImage: 'Ubuntu 16.04' + steps: + - checkout: self + lfs: true + fetchDepth: 10 + - script: | + set -ex + sudo apt -y update + sudo apt install -y valgrind + displayName: 'Install valgrind' + timeoutInMinutes: 5 + - script: | + cd icu/icu4c/source && ./runConfigureICU --enable-debug Linux --disable-renaming && make -j2 tests + displayName: 'Build' + timeoutInMinutes: 10 + env: + CC: clang + CXX: clang++ + - script: | + cd icu/icu4c/source/test/intltest && LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH valgrind --tool=memcheck --error-exitcode=1 --leak-check=full --show-reachable=yes ./intltest + displayName: 'Valgrind intltest' + timeoutInMinutes: 45 + - script: | + cd icu/icu4c/source/test/cintltst && LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH valgrind --tool=memcheck --error-exitcode=1 --leak-check=full --show-reachable=yes ./cintltst + displayName: 'Valgrind cintltst' + timeoutInMinutes: 15 + - script: | + cd icu/icu4c/source/test/iotest && LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH valgrind --tool=memcheck --error-exitcode=1 --leak-check=full --show-reachable=yes ./iotest + displayName: 'Valgrind iotest' + timeoutInMinutes: 5 + - script: | + cd icu/icu4c/source/tools/icuinfo && LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH valgrind --tool=memcheck --error-exitcode=1 --leak-check=full --show-reachable=yes ./icuinfo + displayName: 'Valgrind icuinfo' + timeoutInMinutes: 5 +#------------------------------------------------------------------------- \ No newline at end of file diff --git a/build/nuget/SignConfig-ICU-Binaries-runtime.xml b/build/nuget/SignConfig-ICU-Binaries-runtime.xml deleted file mode 100644 index cc2c1dc1944..00000000000 --- a/build/nuget/SignConfig-ICU-Binaries-runtime.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/build/nuget/SignConfig-ICU-Nuget.xml b/build/nuget/SignConfig-ICU-Nuget.xml deleted file mode 100644 index 02efbf1a964..00000000000 --- a/build/nuget/SignConfig-ICU-Nuget.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - diff --git a/build/scripts/Create-Nuget-Runtime.ps1 b/build/scripts/Create-Nuget-Runtime.ps1 index af450b54c50..db1a8693fa4 100644 --- a/build/scripts/Create-Nuget-Runtime.ps1 +++ b/build/scripts/Create-Nuget-Runtime.ps1 @@ -108,9 +108,6 @@ foreach ($rid in $runtimeIdentifiers) if (Test-Path "$dllInput\bin" -PathType Container) { $dllInput = "$dllInput\bin" } - if ($codesign -eq 'true') { - $dllInput = "$dllInput\signed" - } $dllOutput = "$stagingLocation\runtimes\$rid\native" Copy-Item "$dllInput\*.dll" -Destination $dllOutput -Recurse } diff --git a/changelog.md b/changelog.md index b7dd8d3411c..033bbe2ee37 100644 --- a/changelog.md +++ b/changelog.md @@ -1,10 +1,26 @@ # Changelog +## ICU 68.2.0.6 +#### Misc changes: +- Migration to ESRP Code Signing from PackageES Code Signing. [#93](https://github.com/microsoft/icu/pull/93) +- Add Valgrind to CI build pipeline. [#95](https://github.com/microsoft/icu/pull/95) + +#### Changes cherry-picked from upstream tickets/PRs: +ICU-21587 Fix memory bug w/ baseName +- https://unicode-org.atlassian.net/browse/ICU-21587 +- https://github.com/unicode-org/icu/pull/1698 + +## ICU 68.2.0.5 +#### Data changes: +- Add extra locales from CLDR-MS based on NLS "MS-Only" culture data. [#91](https://github.com/microsoft/icu/pull/91) +- Update ff-Latn-MR region name. [#88](https://github.com/microsoft/icu/pull/88) + +#### Misc changes: +- Update guava from 27.0-jre to 30.0-jre [#87](https://github.com/microsoft/icu/pull/87) ## ICU 68.2.0.4 #### Data changes: - Update number grouping separator for French locales. [#80](https://github.com/microsoft/icu/pull/80) - Picked up additional tzdata fixes. [#81](https://github.com/microsoft/icu/pull/81) - #### Changes cherry-picked from upstream tickets/PRs: ICU-21041 Fix fuzzer memory read error. diff --git a/icu-patches/patches/016-MSFT-Patch-Bump_guava_version_to_30.0-jre.patch b/icu-patches/patches/016-MSFT-Patch-Bump_guava_version_to_30.0-jre.patch new file mode 100644 index 00000000000..3ee514a5760 --- /dev/null +++ b/icu-patches/patches/016-MSFT-Patch-Bump_guava_version_to_30.0-jre.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Daniel Ju <41210545+daniel-ju@users.noreply.github.com> +Date: Tue, 6 Apr 2021 17:53:03 -0700 +Subject: MSFT-PATCH: Bump guava version to 30.0-jre + +--- + icu/tools/cldr/cldr-to-icu/pom.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/icu/tools/cldr/cldr-to-icu/pom.xml b/icu/tools/cldr/cldr-to-icu/pom.xml +index 38a43e63fc..e8d72aa7f6 100644 +--- a/icu/tools/cldr/cldr-to-icu/pom.xml ++++ b/icu/tools/cldr/cldr-to-icu/pom.xml +@@ -92,7 +92,7 @@ + + com.google.guava + guava +- 29.0-jre ++ 30.0-jre + + + +-- +2.30.0.vfs.0.2 + diff --git a/icu-patches/patches/017-MSFT-Patch_ICU_test_changes_for_extra_CLDR-MS_locales.patch b/icu-patches/patches/017-MSFT-Patch_ICU_test_changes_for_extra_CLDR-MS_locales.patch new file mode 100644 index 00000000000..bcdaa06123a --- /dev/null +++ b/icu-patches/patches/017-MSFT-Patch_ICU_test_changes_for_extra_CLDR-MS_locales.patch @@ -0,0 +1,131 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeff Genovy <29107334+jefgen@users.noreply.github.com> +Date: Wed, 7 Apr 2021 20:47:08 -0700 +Subject: MSFT-PATCH: Modify ICU tests to pass with extra locales from CLDR-MS. + +This changes modifies the ICU tests to pass with extra locales from +CLDR-MS. + +diff --git a/icu/icu4c/source/test/cintltst/cldrtest.c b/icu/icu4c/source/test/cintltst/cldrtest.c +index 179539d5178b5cfd8b5350043c539e89e8740185..bfb35c35a449f60c61c9a8eb6282c307e41fd161 100644 +--- a/icu/icu4c/source/test/cintltst/cldrtest.c ++++ b/icu/icu4c/source/test/cintltst/cldrtest.c +@@ -970,7 +970,14 @@ static void VerifyTranslation(void) { + uprv_strncmp(currLoc, "oc", 2) == 0 || uprv_strncmp(currLoc, "oc_FR", 5) == 0 || + uprv_strncmp(currLoc, "syr", 3) == 0 || uprv_strncmp(currLoc, "syr_SY", 6) == 0 || + uprv_strncmp(currLoc, "tig", 3) == 0 || uprv_strncmp(currLoc, "tig_ER", 6) == 0 || +- uprv_strncmp(currLoc, "wal", 3) == 0 || uprv_strncmp(currLoc, "wal_ET", 6) == 0 ++ uprv_strncmp(currLoc, "wal", 3) == 0 || uprv_strncmp(currLoc, "wal_ET", 6) == 0 || ++ uprv_strncmp(currLoc, "bin", 3) == 0 || uprv_strncmp(currLoc, "bin_NG", 6) == 0 || ++ uprv_strncmp(currLoc, "la", 2) == 0 || uprv_strncmp(currLoc, "la_VA", 6) == 0 || ++ uprv_strncmp(currLoc, "jv_Java", 7) == 0 || uprv_strncmp(currLoc, "jv_Java_ID", 10) == 0 || ++ uprv_strncmp(currLoc, "ks_Deva", 7) == 0 || uprv_strncmp(currLoc, "ks_Deva_IN", 10) == 0 || ++ uprv_strncmp(currLoc, "pap", 3) == 0 || uprv_strncmp(currLoc, "pap_029", 7) == 0 || ++ uprv_strncmp(currLoc, "tzm_Arab", 8) == 0 || uprv_strncmp(currLoc, "tzm_Arab_MA", 11) == 0 || ++ uprv_strncmp(currLoc, "tzm_Tfng", 8) == 0 || uprv_strncmp(currLoc, "tzm_Tfng_MA", 11) == 0 + ) { + log_knownIssue("0", "MSFT Change: skipping test for %s which has issues due to CLDR Seed data.", currLoc); + } +@@ -1110,7 +1117,8 @@ static void VerifyTranslation(void) { + if (U_FAILURE(errorCode)) { + log_err("ulocdata_getMeasurementSystem failed for locale %s with error: %s \n", currLoc, u_errorName(errorCode)); + } else { +- if ( strstr(fullLoc, "_US")!=NULL || strstr(fullLoc, "_LR")!=NULL ) { ++ /* MSFT Change: CLDR-MS adds 029 region with US measurement */ ++ if ( strstr(fullLoc, "_US")!=NULL || strstr(fullLoc, "_LR")!=NULL || strstr(fullLoc, "_029")!=NULL ) { + if(measurementSystem != UMS_US){ + log_err("ulocdata_getMeasurementSystem did not return expected data for locale %s \n", currLoc); + } +@@ -1128,10 +1136,11 @@ static void VerifyTranslation(void) { + if (U_FAILURE(errorCode)) { + log_err("ulocdata_getPaperSize failed for locale %s with error: %s \n", currLoc, u_errorName(errorCode)); + } else { ++ /* MSFT Change: CLDR-MS adds 029 region with US paper size */ + if ( strstr(fullLoc, "_US")!=NULL || strstr(fullLoc, "_BZ")!=NULL || strstr(fullLoc, "_CA")!=NULL || strstr(fullLoc, "_CL")!=NULL || + strstr(fullLoc, "_CO")!=NULL || strstr(fullLoc, "_CR")!=NULL || strstr(fullLoc, "_GT")!=NULL || strstr(fullLoc, "_MX")!=NULL || + strstr(fullLoc, "_NI")!=NULL || strstr(fullLoc, "_PA")!=NULL || strstr(fullLoc, "_PH")!=NULL || strstr(fullLoc, "_PR")!=NULL || +- strstr(fullLoc, "_SV")!=NULL || strstr(fullLoc, "_VE")!=NULL ) { ++ strstr(fullLoc, "_SV")!=NULL || strstr(fullLoc, "_VE")!=NULL || strstr(fullLoc, "_029")!=NULL ) { + if (height != 279 || width != 216) { + log_err("ulocdata_getPaperSize did not return expected data for locale %s \n", currLoc); + } +@@ -1251,8 +1260,14 @@ static void TestExemplarSet(void){ + + if (existsInScript == FALSE){ + /* MSFT Change */ +- if (uprv_strncmp(locale, "oc", 2) == 0 || uprv_strncmp(locale, "oc_FR", 5) == 0) { +- log_knownIssue("0", "MSFT Change: oc and oc_FR have ExemplarSet issues."); ++ if (uprv_strncmp(locale, "oc", 2) == 0 || uprv_strncmp(locale, "oc_FR", 5) == 0 || ++ uprv_strncmp(locale, "jv_Java", 7) == 0 || uprv_strncmp(locale, "jv_Java_ID", 10) == 0 || ++ uprv_strncmp(locale, "la", 2) == 0 || uprv_strncmp(locale, "la_VA", 6) == 0 || ++ uprv_strncmp(locale, "pap", 3) == 0 || uprv_strncmp(locale, "pap_029", 7) == 0 || ++ uprv_strncmp(locale, "tzm_Arab", 8) == 0 || uprv_strncmp(locale, "tzm_Arab_MA", 11) == 0 || ++ uprv_strncmp(locale, "tzm_Tfng", 8) == 0 || uprv_strncmp(locale, "tzm_Tfng_MA", 11) == 0 ++ ) { ++ log_knownIssue("0", "MSFT Change: skipping test for %s which has issue due to CLDR seed data.", locale); + continue; + } else { + log_err("ExemplarSet containment failed for locale : %s\n", locale); +diff --git a/icu/icu4c/source/test/cintltst/cnmdptst.c b/icu/icu4c/source/test/cintltst/cnmdptst.c +index 99a9ce23be7ef93923493b2b8312a254706c3f2d..a319b99e3faf6f6fc749e70852a298ce42268696 100644 +--- a/icu/icu4c/source/test/cintltst/cnmdptst.c ++++ b/icu/icu4c/source/test/cintltst/cnmdptst.c +@@ -811,7 +811,8 @@ static void TestGetKeywordValuesForLocale(void) { + { "und", "USD", "USN", NULL }, + /* { "und_ZZ", "USD", NULL, NULL }, -- temporarily remove as this locale now has 15 entries */ + { "en_US", "USD", "USN", NULL }, +- { "en_029", "USD", "USN", NULL }, ++ /* MSFT Change: CLDR-MS adds en_029 locale with XCD currency */ ++ { "en_029", "XCD", NULL, NULL }, + { "en_TH", "THB", NULL, NULL }, + { "de", "EUR", NULL, NULL }, + { "de_DE", "EUR", NULL, NULL }, +@@ -825,11 +826,13 @@ static void TestGetKeywordValuesForLocale(void) { + { "en_US@currency=CAD;rg=THZZZZ", "THB", NULL, NULL }, + }; + const int32_t EXPECTED_SIZE[PREFERRED_SIZE] = { +- 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1 ++ /* MSFT Change: CLDR-MS adds en_029 locale with XCD currency */ ++ 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1 + }; + /* ucurr_forLocale results for same locales; "" if no result expected */ + const char *FORLOCALE[PREFERRED_SIZE] = { +- "", "", "USD", "", ++ /* MSFT Change: CLDR-MS adds en_029 locale with XCD currency */ ++ "", "", "USD", "XCD", + "THB", "", "EUR", "", + "ILS", "CAD", "ZZZ", "DEM", + "THB", "USD", "CAD" +diff --git a/icu/icu4c/source/test/intltest/dtptngts.cpp b/icu/icu4c/source/test/intltest/dtptngts.cpp +index dc86355f93fa68f509a0023dc95fc17a548170c1..c83e27bb68c212c3e9569c71ed5b417a96b7f9de 100644 +--- a/icu/icu4c/source/test/intltest/dtptngts.cpp ++++ b/icu/icu4c/source/test/intltest/dtptngts.cpp +@@ -1408,7 +1408,8 @@ void IntlTestDateTimePatternGeneratorAPI::testJjMapping() { + uprv_strncmp(localeID, "ssy_ER", 6) == 0 || uprv_strncmp(localeID, "st_LS", 5) == 0 || + uprv_strncmp(localeID, "syr", 3) == 0 || uprv_strncmp(localeID, "syr_SY", 6) == 0 || + uprv_strncmp(localeID, "tig", 3) == 0 || uprv_strncmp(localeID, "tig_ER", 6) == 0 || +- uprv_strncmp(localeID, "wal", 3) == 0 || uprv_strncmp(localeID, "wal_ET", 6) == 0 ++ uprv_strncmp(localeID, "wal", 3) == 0 || uprv_strncmp(localeID, "wal_ET", 6) == 0 || ++ uprv_strncmp(localeID, "ks_Deva", 7) == 0 || uprv_strncmp(localeID, "ks_Deva_IN", 10) == 0 + ) { + logKnownIssue("0", "MSFT Change: skipping test for %s which has issues due to CLDR Seed data.", localeID); + } +diff --git a/icu/icu4c/source/test/intltest/numfmtst.cpp b/icu/icu4c/source/test/intltest/numfmtst.cpp +index bc072bd8e3775554b8a8f96a81baf850b5e8feb7..a63c329c8eabf287512b9c152ac91d862d333264 100644 +--- a/icu/icu4c/source/test/intltest/numfmtst.cpp ++++ b/icu/icu4c/source/test/intltest/numfmtst.cpp +@@ -8094,10 +8094,12 @@ void NumberFormatTest::TestAccountingCurrency() { + (Formattable)(double)-1000.5, UnicodeString("(\\uFFE51,000)").unescape(), FALSE, status); + expect(NumberFormat::createInstance("de_DE", style, status), + (Formattable)(double)-23456.7, UnicodeString("-23.456,70\\u00A0\\u20AC").unescape(), TRUE, status); ++ /* MSFT Change: We add a CLDR-MS locale en_ID */ + expect(NumberFormat::createInstance("en_ID", style, status), +- (Formattable)(double)0, UnicodeString("IDR\\u00A00.00").unescape(), TRUE, status); ++ (Formattable)(double)0, UnicodeString("IDR\\u00A00,00").unescape(), TRUE, status); + expect(NumberFormat::createInstance("en_ID", style, status), +- (Formattable)(double)-0.2, UnicodeString("(IDR\\u00A00.20)").unescape(), TRUE, status); ++ (Formattable)(double)-0.2, UnicodeString("(IDR\\u00A00,20)").unescape(), TRUE, status); ++ /* MSFT Change: End */ + expect(NumberFormat::createInstance("sh_ME", style, status), + (Formattable)(double)0, UnicodeString("0,00\\u00A0\\u20AC").unescape(), TRUE, status); + expect(NumberFormat::createInstance("sh_ME", style, status), diff --git a/icu-patches/patches/018-MSFT-Patch_ICU_toolutil_increase_string_store_for_extra_locales.patch b/icu-patches/patches/018-MSFT-Patch_ICU_toolutil_increase_string_store_for_extra_locales.patch new file mode 100644 index 00000000000..a41c47a5263 --- /dev/null +++ b/icu-patches/patches/018-MSFT-Patch_ICU_toolutil_increase_string_store_for_extra_locales.patch @@ -0,0 +1,19 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeff Genovy <29107334+jefgen@users.noreply.github.com> +Date: Wed, 7 Apr 2021 20:47:31 -0700 +Subject: MSFT-PATCH: Increase the STRING_STORE_SIZE due to extra locales from CLDR-MS + + +diff --git a/icu/icu4c/source/tools/toolutil/package.h b/icu/icu4c/source/tools/toolutil/package.h +index ea60c13a74a57b94057882e39b6aa05314c4ca1f..6c411ae5fd04c8463a089307efc056f4d2f622f9 100644 +--- a/icu/icu4c/source/tools/toolutil/package.h ++++ b/icu/icu4c/source/tools/toolutil/package.h +@@ -27,7 +27,7 @@ + + // .dat package file representation ---------------------------------------- *** + +-#define STRING_STORE_SIZE 100000 ++#define STRING_STORE_SIZE 120000 + #define MAX_PKG_NAME_LENGTH 64 + + typedef void CheckDependency(void *context, const char *itemName, const char *targetName); diff --git a/icu/icu4c/source/common/locid.cpp b/icu/icu4c/source/common/locid.cpp index becbdd04300..e8c6297a933 100644 --- a/icu/icu4c/source/common/locid.cpp +++ b/icu/icu4c/source/common/locid.cpp @@ -469,14 +469,18 @@ Locale& Locale::operator=(Locale&& other) U_NOEXCEPT { if ((baseName != fullName) && (baseName != fullNameBuffer)) uprv_free(baseName); if (fullName != fullNameBuffer) uprv_free(fullName); - if (other.fullName == other.fullNameBuffer) { + if (other.fullName == other.fullNameBuffer || other.baseName == other.fullNameBuffer) { uprv_strcpy(fullNameBuffer, other.fullNameBuffer); + } + if (other.fullName == other.fullNameBuffer) { fullName = fullNameBuffer; } else { fullName = other.fullName; } - if (other.baseName == other.fullName) { + if (other.baseName == other.fullNameBuffer) { + baseName = fullNameBuffer; + } else if (other.baseName == other.fullName) { baseName = fullName; } else { baseName = other.baseName; @@ -2487,6 +2491,9 @@ Locale::setKeywordValue(const char* keywordName, const char* keywordValue, UErro if (fullName != fullNameBuffer) { // if full Name is already on the heap, need to free it. uprv_free(fullName); + if (baseName == fullName) { + baseName = newFullName; // baseName should not point to freed memory. + } } fullName = newFullName; status = U_ZERO_ERROR; diff --git a/icu/icu4c/source/common/unicode/uvernum.h b/icu/icu4c/source/common/unicode/uvernum.h index ac8aa1d2776..96f446c7893 100644 --- a/icu/icu4c/source/common/unicode/uvernum.h +++ b/icu/icu4c/source/common/unicode/uvernum.h @@ -79,7 +79,7 @@ * @stable ICU 4.0 */ #ifndef U_ICU_VERSION_BUILDLEVEL_NUM -#define U_ICU_VERSION_BUILDLEVEL_NUM 4 +#define U_ICU_VERSION_BUILDLEVEL_NUM 6 #endif /** Glued version suffix for renamers @@ -139,7 +139,7 @@ * This value will change in the subsequent releases of ICU * @stable ICU 2.4 */ -#define U_ICU_VERSION "68.2.0.4" +#define U_ICU_VERSION "68.2.0.6" /** * The current ICU library major version number as a string, for library name suffixes. diff --git a/icu/icu4c/source/data/curr/LOCALE_DEPS.json b/icu/icu4c/source/data/curr/LOCALE_DEPS.json index 6f4bfbc0617..1b77cc7bd27 100644 --- a/icu/icu4c/source/data/curr/LOCALE_DEPS.json +++ b/icu/icu4c/source/data/curr/LOCALE_DEPS.json @@ -21,6 +21,10 @@ "ff_GN": "ff_Latn_GN", "ff_MR": "ff_Latn_MR", "ff_SN": "ff_Latn_SN", + "ha_Latn": "ha", + "ha_Latn_GH": "ha_GH", + "ha_Latn_NE": "ha_NE", + "ha_Latn_NG": "ha_NG", "in": "id", "in_ID": "id_ID", "iu_Cans": "iu", @@ -75,6 +79,9 @@ "su_ID": "su_Latn_ID", "tl": "fil", "tl_PH": "fil_PH", + "tzm_Latn": "tzm", + "tzm_Latn_DZ": "tzm_DZ", + "tzm_Latn_MA": "tzm_MA", "uz_AF": "uz_Arab_AF", "uz_UZ": "uz_Latn_UZ", "vai_LR": "vai_Vaii_LR", @@ -204,6 +211,7 @@ "es_VE": "es_419", "ff_Adlm": "root", "iu_Latn": "root", + "ks_Deva": "root", "mn_Mong": "root", "pa_Arab": "root", "pt_AO": "pt_PT", diff --git a/icu/icu4c/source/data/curr/bin.txt b/icu/icu4c/source/data/curr/bin.txt new file mode 100644 index 00000000000..d773a332ce7 --- /dev/null +++ b/icu/icu4c/source/data/curr/bin.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +bin{ +} diff --git a/icu/icu4c/source/data/curr/en_029.txt b/icu/icu4c/source/data/curr/en_029.txt new file mode 100644 index 00000000000..daa23664d16 --- /dev/null +++ b/icu/icu4c/source/data/curr/en_029.txt @@ -0,0 +1,11 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +en_029{ + Currencies{ + XCD{ + "EC$", + "East Caribbean Dollar", + } + } +} diff --git a/icu/icu4c/source/data/curr/en_ID.txt b/icu/icu4c/source/data/curr/en_ID.txt new file mode 100644 index 00000000000..cf7de1237a0 --- /dev/null +++ b/icu/icu4c/source/data/curr/en_ID.txt @@ -0,0 +1,11 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +en_ID{ + Currencies{ + IDR{ + "IDR", + "Rupiah", + } + } +} diff --git a/icu/icu4c/source/data/curr/fr_029.txt b/icu/icu4c/source/data/curr/fr_029.txt new file mode 100644 index 00000000000..c800fbee614 --- /dev/null +++ b/icu/icu4c/source/data/curr/fr_029.txt @@ -0,0 +1,11 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +fr_029{ + Currencies{ + XCD{ + "EC$", + "dollar des Caraïbes orientales", + } + } +} diff --git a/icu/icu4c/source/data/curr/ha_Latn.txt b/icu/icu4c/source/data/curr/ha_Latn.txt new file mode 100644 index 00000000000..0eeb272f433 --- /dev/null +++ b/icu/icu4c/source/data/curr/ha_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn{ + "%%ALIAS"{"ha"} +} diff --git a/icu/icu4c/source/data/curr/ha_Latn_GH.txt b/icu/icu4c/source/data/curr/ha_Latn_GH.txt new file mode 100644 index 00000000000..dfdd0f52934 --- /dev/null +++ b/icu/icu4c/source/data/curr/ha_Latn_GH.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_GH{ + "%%ALIAS"{"ha_GH"} +} diff --git a/icu/icu4c/source/data/curr/ha_Latn_NE.txt b/icu/icu4c/source/data/curr/ha_Latn_NE.txt new file mode 100644 index 00000000000..b9dd7955071 --- /dev/null +++ b/icu/icu4c/source/data/curr/ha_Latn_NE.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NE{ + "%%ALIAS"{"ha_NE"} +} diff --git a/icu/icu4c/source/data/curr/ha_Latn_NG.txt b/icu/icu4c/source/data/curr/ha_Latn_NG.txt new file mode 100644 index 00000000000..33d19431bc0 --- /dev/null +++ b/icu/icu4c/source/data/curr/ha_Latn_NG.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NG{ + "%%ALIAS"{"ha_NG"} +} diff --git a/icu/icu4c/source/data/curr/ha_NE.txt b/icu/icu4c/source/data/curr/ha_NE.txt new file mode 100644 index 00000000000..7991d4caf5f --- /dev/null +++ b/icu/icu4c/source/data/curr/ha_NE.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_NE{ + ___{""} +} diff --git a/icu/icu4c/source/data/curr/ha_NG.txt b/icu/icu4c/source/data/curr/ha_NG.txt new file mode 100644 index 00000000000..112a2b67283 --- /dev/null +++ b/icu/icu4c/source/data/curr/ha_NG.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_NG{ + ___{""} +} diff --git a/icu/icu4c/source/data/curr/ibb.txt b/icu/icu4c/source/data/curr/ibb.txt new file mode 100644 index 00000000000..d1822fe81c5 --- /dev/null +++ b/icu/icu4c/source/data/curr/ibb.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ibb{ +} diff --git a/icu/icu4c/source/data/curr/kr.txt b/icu/icu4c/source/data/curr/kr.txt new file mode 100644 index 00000000000..deb77943734 --- /dev/null +++ b/icu/icu4c/source/data/curr/kr.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +kr{ +} diff --git a/icu/icu4c/source/data/curr/ks_Deva.txt b/icu/icu4c/source/data/curr/ks_Deva.txt new file mode 100644 index 00000000000..4e3f94cb787 --- /dev/null +++ b/icu/icu4c/source/data/curr/ks_Deva.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ks_Deva{ + %%Parent{"root"} +} diff --git a/icu/icu4c/source/data/curr/la.txt b/icu/icu4c/source/data/curr/la.txt new file mode 100644 index 00000000000..31eb90800fe --- /dev/null +++ b/icu/icu4c/source/data/curr/la.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +la{ +} diff --git a/icu/icu4c/source/data/curr/pap.txt b/icu/icu4c/source/data/curr/pap.txt new file mode 100644 index 00000000000..6ac8f73a114 --- /dev/null +++ b/icu/icu4c/source/data/curr/pap.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +pap{ +} diff --git a/icu/icu4c/source/data/curr/supplementalData.txt b/icu/icu4c/source/data/curr/supplementalData.txt index b52ff56c9da..8843f403e21 100644 --- a/icu/icu4c/source/data/curr/supplementalData.txt +++ b/icu/icu4c/source/data/curr/supplementalData.txt @@ -3,6 +3,15 @@ // Generated using tools/cldr/cldr-to-icu/build-icu-data.xml supplementalData:table(nofallback){ CurrencyMap{ + 029{ + { + from:intvector{ + -507, + 95619072, + } + id{"XCD"} + } + } AC{ { from:intvector{ diff --git a/icu/icu4c/source/data/curr/tzm_DZ.txt b/icu/icu4c/source/data/curr/tzm_DZ.txt new file mode 100644 index 00000000000..0bbad718942 --- /dev/null +++ b/icu/icu4c/source/data/curr/tzm_DZ.txt @@ -0,0 +1,11 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_DZ{ + Currencies{ + DZD{ + "DA", + "Dinar", + } + } +} diff --git a/icu/icu4c/source/data/curr/tzm_Latn.txt b/icu/icu4c/source/data/curr/tzm_Latn.txt new file mode 100644 index 00000000000..40dbe914a1a --- /dev/null +++ b/icu/icu4c/source/data/curr/tzm_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn{ + "%%ALIAS"{"tzm"} +} diff --git a/icu/icu4c/source/data/curr/tzm_Latn_DZ.txt b/icu/icu4c/source/data/curr/tzm_Latn_DZ.txt new file mode 100644 index 00000000000..099c0786222 --- /dev/null +++ b/icu/icu4c/source/data/curr/tzm_Latn_DZ.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_DZ{ + "%%ALIAS"{"tzm_DZ"} +} diff --git a/icu/icu4c/source/data/curr/tzm_Latn_MA.txt b/icu/icu4c/source/data/curr/tzm_Latn_MA.txt new file mode 100644 index 00000000000..c86150699b4 --- /dev/null +++ b/icu/icu4c/source/data/curr/tzm_Latn_MA.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_MA{ + "%%ALIAS"{"tzm_MA"} +} diff --git a/icu/icu4c/source/data/curr/tzm_MA.txt b/icu/icu4c/source/data/curr/tzm_MA.txt new file mode 100644 index 00000000000..adb983ffd15 --- /dev/null +++ b/icu/icu4c/source/data/curr/tzm_MA.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +tzm_MA{ + ___{""} +} diff --git a/icu/icu4c/source/data/curr/tzm_Tfng.txt b/icu/icu4c/source/data/curr/tzm_Tfng.txt new file mode 100644 index 00000000000..befdf34da37 --- /dev/null +++ b/icu/icu4c/source/data/curr/tzm_Tfng.txt @@ -0,0 +1,11 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Tfng{ + Currencies{ + MAD{ + "ⴷⵔ", + "ⴷⵔⵀⵎ ⴰⵎⵖⵔⴰⴱⵉ", + } + } +} diff --git a/icu/icu4c/source/data/lang/LOCALE_DEPS.json b/icu/icu4c/source/data/lang/LOCALE_DEPS.json index 6f4bfbc0617..1b77cc7bd27 100644 --- a/icu/icu4c/source/data/lang/LOCALE_DEPS.json +++ b/icu/icu4c/source/data/lang/LOCALE_DEPS.json @@ -21,6 +21,10 @@ "ff_GN": "ff_Latn_GN", "ff_MR": "ff_Latn_MR", "ff_SN": "ff_Latn_SN", + "ha_Latn": "ha", + "ha_Latn_GH": "ha_GH", + "ha_Latn_NE": "ha_NE", + "ha_Latn_NG": "ha_NG", "in": "id", "in_ID": "id_ID", "iu_Cans": "iu", @@ -75,6 +79,9 @@ "su_ID": "su_Latn_ID", "tl": "fil", "tl_PH": "fil_PH", + "tzm_Latn": "tzm", + "tzm_Latn_DZ": "tzm_DZ", + "tzm_Latn_MA": "tzm_MA", "uz_AF": "uz_Arab_AF", "uz_UZ": "uz_Latn_UZ", "vai_LR": "vai_Vaii_LR", @@ -204,6 +211,7 @@ "es_VE": "es_419", "ff_Adlm": "root", "iu_Latn": "root", + "ks_Deva": "root", "mn_Mong": "root", "pa_Arab": "root", "pt_AO": "pt_PT", diff --git a/icu/icu4c/source/data/lang/bin.txt b/icu/icu4c/source/data/lang/bin.txt new file mode 100644 index 00000000000..6649f150961 --- /dev/null +++ b/icu/icu4c/source/data/lang/bin.txt @@ -0,0 +1,8 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +bin{ + Languages{ + bin{"Ẹ̀dó"} + } +} diff --git a/icu/icu4c/source/data/lang/en.txt b/icu/icu4c/source/data/lang/en.txt index e5d9a44a269..2bf39dcc8de 100644 --- a/icu/icu4c/source/data/lang/en.txt +++ b/icu/icu4c/source/data/lang/en.txt @@ -102,7 +102,7 @@ en{ bho{"Bhojpuri"} bi{"Bislama"} bik{"Bikol"} - bin{"Bini"} + bin{"Edo"} bjn{"Banjar"} bkm{"Kom"} bla{"Siksika"} diff --git a/icu/icu4c/source/data/lang/en_GB.txt b/icu/icu4c/source/data/lang/en_GB.txt index 9ef9b3df4e2..5656e8fd3da 100644 --- a/icu/icu4c/source/data/lang/en_GB.txt +++ b/icu/icu4c/source/data/lang/en_GB.txt @@ -4,6 +4,7 @@ en_GB{ %%Parent{"en_001"} Languages{ + bin{"Bini"} bm{"Bambara"} ii{"Sichuan Yi"} nso{"Northern Sotho"} diff --git a/icu/icu4c/source/data/lang/ha_GH.txt b/icu/icu4c/source/data/lang/ha_GH.txt new file mode 100644 index 00000000000..6dd3820c7dd --- /dev/null +++ b/icu/icu4c/source/data/lang/ha_GH.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_GH{ + ___{""} +} diff --git a/icu/icu4c/source/data/lang/ha_Latn.txt b/icu/icu4c/source/data/lang/ha_Latn.txt new file mode 100644 index 00000000000..0eeb272f433 --- /dev/null +++ b/icu/icu4c/source/data/lang/ha_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn{ + "%%ALIAS"{"ha"} +} diff --git a/icu/icu4c/source/data/lang/ha_Latn_GH.txt b/icu/icu4c/source/data/lang/ha_Latn_GH.txt new file mode 100644 index 00000000000..dfdd0f52934 --- /dev/null +++ b/icu/icu4c/source/data/lang/ha_Latn_GH.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_GH{ + "%%ALIAS"{"ha_GH"} +} diff --git a/icu/icu4c/source/data/lang/ha_Latn_NE.txt b/icu/icu4c/source/data/lang/ha_Latn_NE.txt new file mode 100644 index 00000000000..b9dd7955071 --- /dev/null +++ b/icu/icu4c/source/data/lang/ha_Latn_NE.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NE{ + "%%ALIAS"{"ha_NE"} +} diff --git a/icu/icu4c/source/data/lang/ha_Latn_NG.txt b/icu/icu4c/source/data/lang/ha_Latn_NG.txt new file mode 100644 index 00000000000..33d19431bc0 --- /dev/null +++ b/icu/icu4c/source/data/lang/ha_Latn_NG.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NG{ + "%%ALIAS"{"ha_NG"} +} diff --git a/icu/icu4c/source/data/lang/ha_NE.txt b/icu/icu4c/source/data/lang/ha_NE.txt new file mode 100644 index 00000000000..7991d4caf5f --- /dev/null +++ b/icu/icu4c/source/data/lang/ha_NE.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_NE{ + ___{""} +} diff --git a/icu/icu4c/source/data/lang/ha_NG.txt b/icu/icu4c/source/data/lang/ha_NG.txt new file mode 100644 index 00000000000..112a2b67283 --- /dev/null +++ b/icu/icu4c/source/data/lang/ha_NG.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_NG{ + ___{""} +} diff --git a/icu/icu4c/source/data/lang/ibb.txt b/icu/icu4c/source/data/lang/ibb.txt new file mode 100644 index 00000000000..de282c6a383 --- /dev/null +++ b/icu/icu4c/source/data/lang/ibb.txt @@ -0,0 +1,8 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ibb{ + Languages{ + ibb{"Ibibio-Efik"} + } +} diff --git a/icu/icu4c/source/data/lang/jv_Java.txt b/icu/icu4c/source/data/lang/jv_Java.txt new file mode 100644 index 00000000000..86aa13834aa --- /dev/null +++ b/icu/icu4c/source/data/lang/jv_Java.txt @@ -0,0 +1,8 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +jv_Java{ + Languages{ + jv{"ꦧꦱꦗꦮ"} + } +} diff --git a/icu/icu4c/source/data/lang/kr.txt b/icu/icu4c/source/data/lang/kr.txt new file mode 100644 index 00000000000..deb77943734 --- /dev/null +++ b/icu/icu4c/source/data/lang/kr.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +kr{ +} diff --git a/icu/icu4c/source/data/lang/ks_Deva.txt b/icu/icu4c/source/data/lang/ks_Deva.txt new file mode 100644 index 00000000000..d75f07d87bf --- /dev/null +++ b/icu/icu4c/source/data/lang/ks_Deva.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ks_Deva{ + %%Parent{"root"} + Languages{ + ks{"कॉशुर"} + } +} diff --git a/icu/icu4c/source/data/lang/la.txt b/icu/icu4c/source/data/lang/la.txt new file mode 100644 index 00000000000..31eb90800fe --- /dev/null +++ b/icu/icu4c/source/data/lang/la.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +la{ +} diff --git a/icu/icu4c/source/data/lang/pap.txt b/icu/icu4c/source/data/lang/pap.txt new file mode 100644 index 00000000000..15b1184006e --- /dev/null +++ b/icu/icu4c/source/data/lang/pap.txt @@ -0,0 +1,13 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +pap{ + Languages{ + pap{"Papiamentu"} + } + Types{ + calendar{ + gregorian{"gregorian kalènder"} + } + } +} diff --git a/icu/icu4c/source/data/lang/tzm_DZ.txt b/icu/icu4c/source/data/lang/tzm_DZ.txt new file mode 100644 index 00000000000..36945d3ba3a --- /dev/null +++ b/icu/icu4c/source/data/lang/tzm_DZ.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +tzm_DZ{ + ___{""} +} diff --git a/icu/icu4c/source/data/lang/tzm_Latn.txt b/icu/icu4c/source/data/lang/tzm_Latn.txt new file mode 100644 index 00000000000..40dbe914a1a --- /dev/null +++ b/icu/icu4c/source/data/lang/tzm_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn{ + "%%ALIAS"{"tzm"} +} diff --git a/icu/icu4c/source/data/lang/tzm_Latn_DZ.txt b/icu/icu4c/source/data/lang/tzm_Latn_DZ.txt new file mode 100644 index 00000000000..099c0786222 --- /dev/null +++ b/icu/icu4c/source/data/lang/tzm_Latn_DZ.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_DZ{ + "%%ALIAS"{"tzm_DZ"} +} diff --git a/icu/icu4c/source/data/lang/tzm_Latn_MA.txt b/icu/icu4c/source/data/lang/tzm_Latn_MA.txt new file mode 100644 index 00000000000..c86150699b4 --- /dev/null +++ b/icu/icu4c/source/data/lang/tzm_Latn_MA.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_MA{ + "%%ALIAS"{"tzm_MA"} +} diff --git a/icu/icu4c/source/data/lang/tzm_MA.txt b/icu/icu4c/source/data/lang/tzm_MA.txt new file mode 100644 index 00000000000..adb983ffd15 --- /dev/null +++ b/icu/icu4c/source/data/lang/tzm_MA.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +tzm_MA{ + ___{""} +} diff --git a/icu/icu4c/source/data/lang/tzm_Tfng.txt b/icu/icu4c/source/data/lang/tzm_Tfng.txt new file mode 100644 index 00000000000..7ddbb64d320 --- /dev/null +++ b/icu/icu4c/source/data/lang/tzm_Tfng.txt @@ -0,0 +1,14 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Tfng{ + Languages{ + tzm{"ⵜⴰⵎⴰⵣⵉⵖⵜ"} + } + Types{ + calendar{ + gregorian{"ⴰⵙⵎⵍⵓⵙⵙⴰⵏ ⴰⴳⵔⵉⴳⵓⵔⵉ"} + islamic{"ⴰⵙⵎⵍⵓⵙⵙⴰⵏ ⴰⵀⵉⵊⵔⵉ"} + } + } +} diff --git a/icu/icu4c/source/data/locales/LOCALE_DEPS.json b/icu/icu4c/source/data/locales/LOCALE_DEPS.json index 6f4bfbc0617..1b77cc7bd27 100644 --- a/icu/icu4c/source/data/locales/LOCALE_DEPS.json +++ b/icu/icu4c/source/data/locales/LOCALE_DEPS.json @@ -21,6 +21,10 @@ "ff_GN": "ff_Latn_GN", "ff_MR": "ff_Latn_MR", "ff_SN": "ff_Latn_SN", + "ha_Latn": "ha", + "ha_Latn_GH": "ha_GH", + "ha_Latn_NE": "ha_NE", + "ha_Latn_NG": "ha_NG", "in": "id", "in_ID": "id_ID", "iu_Cans": "iu", @@ -75,6 +79,9 @@ "su_ID": "su_Latn_ID", "tl": "fil", "tl_PH": "fil_PH", + "tzm_Latn": "tzm", + "tzm_Latn_DZ": "tzm_DZ", + "tzm_Latn_MA": "tzm_MA", "uz_AF": "uz_Arab_AF", "uz_UZ": "uz_Latn_UZ", "vai_LR": "vai_Vaii_LR", @@ -204,6 +211,7 @@ "es_VE": "es_419", "ff_Adlm": "root", "iu_Latn": "root", + "ks_Deva": "root", "mn_Mong": "root", "pa_Arab": "root", "pt_AO": "pt_PT", diff --git a/icu/icu4c/source/data/locales/bin.txt b/icu/icu4c/source/data/locales/bin.txt new file mode 100644 index 00000000000..0bfb111fe58 --- /dev/null +++ b/icu/icu4c/source/data/locales/bin.txt @@ -0,0 +1,47 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +bin{ + AuxExemplarCharacters{"[c j q x]"} + ExemplarCharacters{ + "[a á b d e ẹ é è {ẹ\u0300} f g {gb} {gh} h i í k {kh} {kp} l m {mw} n o ọ ó " + "ò p r {rh} {rr} s t u ú v {vb} w y z]" + } + NumberElements{ + latn{ + patterns{ + currencyFormat{"¤ #,##0.00"} + } + } + } + calendar{ + gregorian{ + DateTimePatterns{ + "HH:mm:ss zzzz", + "HH:mm:ss z", + "HH:mm:ss", + "HH:mm", + "EEEE, MMMM dd, y", + "MMMM dd, y", + "d MMM y", + "d/M/y", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + } + availableFormats{ + MMMMEd{"E, d MMMM"} + MMMMd{"MMMM dd"} + MMMd{"MMM dd"} + Md{"M/d"} + yMMMM{"y MMMM"} + } + } + } + layout{ + characters{"left-to-right"} + lines{"top-to-bottom"} + } +} diff --git a/icu/icu4c/source/data/locales/bin_NG.txt b/icu/icu4c/source/data/locales/bin_NG.txt new file mode 100644 index 00000000000..23894470c66 --- /dev/null +++ b/icu/icu4c/source/data/locales/bin_NG.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +bin_NG{ +} diff --git a/icu/icu4c/source/data/locales/en_029.txt b/icu/icu4c/source/data/locales/en_029.txt new file mode 100644 index 00000000000..c5cec3a0b12 --- /dev/null +++ b/icu/icu4c/source/data/locales/en_029.txt @@ -0,0 +1,45 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +en_029{ + NumberElements{ + latn{ + patterns{ + percentFormat{"#,##0 %"} + } + } + } + calendar{ + gregorian{ + DateTimePatterns{ + "HH:mm:ss zzzz", + "HH:mm:ss z", + "HH:mm:ss", + "HH:mm", + "EEEE, dd MMMM y", + "d MMMM y", + "d MMM y", + "dd/MM/y", + "{1}, {0}", + "{1} 'at' {0}", + "{1} 'at' {0}", + "{1}, {0}", + "{1}, {0}", + } + availableFormats{ + Hm{"H:mm"} + Hms{"H:mm:ss"} + MMMEd{"E, d MMMM"} + yMMMM{"MMMM, y"} + } + dayPeriod{ + stand-alone{ + narrow{ + am{"AM"} + pm{"PM"} + } + } + } + } + } +} diff --git a/icu/icu4c/source/data/locales/en_ID.txt b/icu/icu4c/source/data/locales/en_ID.txt new file mode 100644 index 00000000000..aa78513c2bb --- /dev/null +++ b/icu/icu4c/source/data/locales/en_ID.txt @@ -0,0 +1,46 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +en_ID{ + NumberElements{ + latn{ + symbols{ + decimal{","} + group{"."} + } + } + } + calendar{ + gregorian{ + DateTimePatterns{ + "HH:mm:ss zzzz", + "HH:mm:ss z", + "HH:mm:ss", + "HH:mm", + "EEEE, dd MMMM y", + "dd MMMM y", + "d MMM y", + "dd/MM/y", + "{1}, {0}", + "{1} 'at' {0}", + "{1} 'at' {0}", + "{1}, {0}", + "{1}, {0}", + } + availableFormats{ + Hm{"H:mm"} + Hms{"H:mm:ss"} + MMMEd{"E, dd MMM"} + MMMMd{"dd MMMM"} + } + dayPeriod{ + stand-alone{ + narrow{ + am{"AM"} + pm{"PM"} + } + } + } + } + } +} diff --git a/icu/icu4c/source/data/locales/fr_029.txt b/icu/icu4c/source/data/locales/fr_029.txt new file mode 100644 index 00000000000..ab20a7c9abf --- /dev/null +++ b/icu/icu4c/source/data/locales/fr_029.txt @@ -0,0 +1,25 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +fr_029{ + NumberElements{ + latn{ + patterns{ + percentFormat{"#,##0%"} + } + } + } + calendar{ + gregorian{ + AmPmMarkersNarrow{ + "a", + "p", + } + availableFormats{ + Hm{"H:mm"} + Hms{"H:mm:ss"} + Md{"d/M"} + } + } + } +} diff --git a/icu/icu4c/source/data/locales/ha_Latn.txt b/icu/icu4c/source/data/locales/ha_Latn.txt new file mode 100644 index 00000000000..0eeb272f433 --- /dev/null +++ b/icu/icu4c/source/data/locales/ha_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn{ + "%%ALIAS"{"ha"} +} diff --git a/icu/icu4c/source/data/locales/ha_Latn_GH.txt b/icu/icu4c/source/data/locales/ha_Latn_GH.txt new file mode 100644 index 00000000000..dfdd0f52934 --- /dev/null +++ b/icu/icu4c/source/data/locales/ha_Latn_GH.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_GH{ + "%%ALIAS"{"ha_GH"} +} diff --git a/icu/icu4c/source/data/locales/ha_Latn_NE.txt b/icu/icu4c/source/data/locales/ha_Latn_NE.txt new file mode 100644 index 00000000000..b9dd7955071 --- /dev/null +++ b/icu/icu4c/source/data/locales/ha_Latn_NE.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NE{ + "%%ALIAS"{"ha_NE"} +} diff --git a/icu/icu4c/source/data/locales/ha_Latn_NG.txt b/icu/icu4c/source/data/locales/ha_Latn_NG.txt new file mode 100644 index 00000000000..33d19431bc0 --- /dev/null +++ b/icu/icu4c/source/data/locales/ha_Latn_NG.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NG{ + "%%ALIAS"{"ha_NG"} +} diff --git a/icu/icu4c/source/data/locales/ibb.txt b/icu/icu4c/source/data/locales/ibb.txt new file mode 100644 index 00000000000..83c8a4a5797 --- /dev/null +++ b/icu/icu4c/source/data/locales/ibb.txt @@ -0,0 +1,43 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ibb{ + ExemplarCharacters{"[a b d e f g {gh} h i ị k {kp} m n ñ {ny} o ọ p r s t u ʌ w y]"} + NumberElements{ + latn{ + patterns{ + currencyFormat{"¤ #,##0.00"} + } + } + } + calendar{ + gregorian{ + DateTimePatterns{ + "HH:mm:ss zzzz", + "HH:mm:ss z", + "HH:mm:ss", + "HH:mm", + "EEEE, MMMM dd, y", + "MMMM dd, y", + "d MMM y", + "d/M/y", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + } + availableFormats{ + MMMMEd{"E, d MMMM"} + MMMMd{"MMMM dd"} + MMMd{"MMM dd"} + Md{"M/d"} + yMMMM{"y MMMM"} + } + } + } + layout{ + characters{"left-to-right"} + lines{"top-to-bottom"} + } +} diff --git a/icu/icu4c/source/data/locales/ibb_NG.txt b/icu/icu4c/source/data/locales/ibb_NG.txt new file mode 100644 index 00000000000..a498d6cbb1e --- /dev/null +++ b/icu/icu4c/source/data/locales/ibb_NG.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ibb_NG{ +} diff --git a/icu/icu4c/source/data/locales/jv_Java.txt b/icu/icu4c/source/data/locales/jv_Java.txt new file mode 100644 index 00000000000..872016e36b0 --- /dev/null +++ b/icu/icu4c/source/data/locales/jv_Java.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +jv_Java{ +} diff --git a/icu/icu4c/source/data/locales/jv_Java_ID.txt b/icu/icu4c/source/data/locales/jv_Java_ID.txt new file mode 100644 index 00000000000..c1f3613d96b --- /dev/null +++ b/icu/icu4c/source/data/locales/jv_Java_ID.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +jv_Java_ID{ +} diff --git a/icu/icu4c/source/data/locales/kr.txt b/icu/icu4c/source/data/locales/kr.txt new file mode 100644 index 00000000000..f0f30ebf2c8 --- /dev/null +++ b/icu/icu4c/source/data/locales/kr.txt @@ -0,0 +1,37 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +kr{ + AuxExemplarCharacters{"[q x]"} + ExemplarCharacters{"[a b c d e ǝ f g h i j k l m n {ny} o p r ɍ s {sh} t u v w y z]"} + NumberElements{ + latn{ + patterns{ + currencyFormat{"¤ #,##0.00"} + } + } + } + calendar{ + gregorian{ + DateTimePatterns{ + "HH:mm:ss zzzz", + "HH:mm:ss z", + "HH:mm:ss", + "HH:mm", + "EEEE, MMMM dd, y", + "MMMM dd, y", + "MMM d, y", + "d/M/y", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + } + } + } + layout{ + characters{"left-to-right"} + lines{"top-to-bottom"} + } +} diff --git a/icu/icu4c/source/data/locales/kr_Latn.txt b/icu/icu4c/source/data/locales/kr_Latn.txt new file mode 100644 index 00000000000..2dd6b620835 --- /dev/null +++ b/icu/icu4c/source/data/locales/kr_Latn.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +kr_Latn{ +} diff --git a/icu/icu4c/source/data/locales/kr_Latn_NG.txt b/icu/icu4c/source/data/locales/kr_Latn_NG.txt new file mode 100644 index 00000000000..375c562ff13 --- /dev/null +++ b/icu/icu4c/source/data/locales/kr_Latn_NG.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +kr_Latn_NG{ +} diff --git a/icu/icu4c/source/data/locales/ks_Deva.txt b/icu/icu4c/source/data/locales/ks_Deva.txt new file mode 100644 index 00000000000..68bf1e23940 --- /dev/null +++ b/icu/icu4c/source/data/locales/ks_Deva.txt @@ -0,0 +1,12 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ks_Deva{ + %%Parent{"root"} + AuxExemplarCharacters{"[\u200C\u200D]"} + ExemplarCharacters{ + "[\u093C \u0901 अ आ इ ई उ ऊ ए ऑ ओ क ख ग च {च\u093C} छ {छ\u093C} ज ट ठ ड त थ द" + " न प फ ब म य र ल व श स ह ा ि ी \u0941 \u0942 \u0943 \u0944 \u0945 \u0947 " + "\u0948 ॉ ो ौ \u094D]" + } +} diff --git a/icu/icu4c/source/data/locales/ks_Deva_IN.txt b/icu/icu4c/source/data/locales/ks_Deva_IN.txt new file mode 100644 index 00000000000..491dc63e5c3 --- /dev/null +++ b/icu/icu4c/source/data/locales/ks_Deva_IN.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ks_Deva_IN{ +} diff --git a/icu/icu4c/source/data/locales/la.txt b/icu/icu4c/source/data/locales/la.txt new file mode 100644 index 00000000000..14c15cdb2b0 --- /dev/null +++ b/icu/icu4c/source/data/locales/la.txt @@ -0,0 +1,20 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +la{ + NumberElements{ + default{"latn"} + minimumGroupingDigits{"1"} + native{"latn"} + } + fields{ + minute{ + relative{ + "0"{"hac minuta"} + } + } + week{ + relativePeriod{"the week of {0}"} + } + } +} diff --git a/icu/icu4c/source/data/locales/la_VA.txt b/icu/icu4c/source/data/locales/la_VA.txt new file mode 100644 index 00000000000..5a1c9b401b6 --- /dev/null +++ b/icu/icu4c/source/data/locales/la_VA.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +la_VA{ +} diff --git a/icu/icu4c/source/data/locales/pap.txt b/icu/icu4c/source/data/locales/pap.txt new file mode 100644 index 00000000000..099f6314b80 --- /dev/null +++ b/icu/icu4c/source/data/locales/pap.txt @@ -0,0 +1,118 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +pap{ + NumberElements{ + default{"latn"} + latn{ + patterns{ + currencyFormat{"¤#,##0.00"} + percentFormat{"#,##0%"} + } + symbols{ + decimal{"."} + group{","} + list{","} + } + } + } + calendar{ + gregorian{ + DateTimePatterns{ + "H:mm:ss zzzz", + "H:mm:ss z", + "H:mm:ss", + "H:mm", + "EEEE d MMMM y", + "d MMMM y", + "d MMM yy", + "d-M-y", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + } + availableFormats{ + MMMMEd{"E, d MMMM"} + MMMMd{"dd MMMM"} + MMMd{"dd MMM"} + Md{"d/M"} + yMMMM{"MMMM y"} + } + dayNames{ + format{ + abbreviated{ + "dom", + "lun", + "mar", + "web", + "raz", + "bie", + "sab", + } + short{ + "do", + "lu", + "ma", + "we", + "ra", + "bi", + "sa", + } + wide{ + "diadomingo", + "dialuna", + "diamars", + "diawebs", + "diarazon", + "diabierna", + "diasabra", + } + } + } + eras{ + abbreviated{ + "BCE", + "AD", + } + wide{ + "BCE", + "A.D.", + } + } + monthNames{ + format{ + abbreviated{ + "jan", + "feb", + "mrt", + "apr", + "mei", + "jun", + "jul", + "aug", + "sep", + "okt", + "nov", + "dec", + } + wide{ + "januari", + "februari", + "maart", + "april", + "mei", + "juni", + "juli", + "augustus", + "september", + "oktober", + "november", + "december", + } + } + } + } + } +} diff --git a/icu/icu4c/source/data/locales/pap_029.txt b/icu/icu4c/source/data/locales/pap_029.txt new file mode 100644 index 00000000000..f69c88df02a --- /dev/null +++ b/icu/icu4c/source/data/locales/pap_029.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +pap_029{ +} diff --git a/icu/icu4c/source/data/locales/tzm_Arab.txt b/icu/icu4c/source/data/locales/tzm_Arab.txt new file mode 100644 index 00000000000..5f4c8981d2c --- /dev/null +++ b/icu/icu4c/source/data/locales/tzm_Arab.txt @@ -0,0 +1,26 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Arab{ + AuxExemplarCharacters{"[\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک ڭ گ ݣ ی]"} + ExemplarCharactersNumbers{"[\u200E \\- ‑ , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"} + calendar{ + gregorian{ + DateTimePatterns{ + "HH:mm:ss zzzz", + "HH:mm:ss z", + "HH:mm:ss", + "HH:mm", + "y MMMM d, EEEE", + "y MMMM d", + "y MMM d", + "y-MM-dd", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + } + } + } +} diff --git a/icu/icu4c/source/data/locales/tzm_Arab_MA.txt b/icu/icu4c/source/data/locales/tzm_Arab_MA.txt new file mode 100644 index 00000000000..6f23a4e9ca8 --- /dev/null +++ b/icu/icu4c/source/data/locales/tzm_Arab_MA.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Arab_MA{ +} diff --git a/icu/icu4c/source/data/locales/tzm_DZ.txt b/icu/icu4c/source/data/locales/tzm_DZ.txt new file mode 100644 index 00000000000..4c581bea90b --- /dev/null +++ b/icu/icu4c/source/data/locales/tzm_DZ.txt @@ -0,0 +1,99 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_DZ{ + NumberElements{ + latn{ + patterns{ + percentFormat{"#,##0 %"} + } + } + } + calendar{ + gregorian{ + DateTimePatterns{ + "h:mm:ss a zzzz", + "h:mm:ss a z", + "h:mm:ss a", + "h:mm a", + "EEEE, dd MMMM, y", + "dd MMMM, y", + "d MMM, y", + "dd/MM/y", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + } + availableFormats{ + MMMMEd{"E, d MMMM"} + MMMMd{"d MMMM"} + yMMMM{"MMMM, y"} + } + dayNames{ + format{ + abbreviated{ + "lh'd", + "let", + "ttl", + "lar", + "lex", + "ldj", + "sse", + } + short{ + "lh", + "lt", + "tt", + "la", + "lx", + "ld", + "ss", + } + wide{ + "lh'ed", + "letnayen", + "ttlata", + "larebâa", + "lexmis", + "ldjemâa", + "ssebt", + } + } + } + monthNames{ + format{ + abbreviated{ + "Yen", + "Fur", + "Megh", + "Yeb", + "May", + "Yun", + "Yul", + "Ghu", + "Cut", + "Tub", + "Nun", + "Duj", + } + wide{ + "Yennayer", + "Furar", + "Meghres", + "Yebrir", + "Magu", + "Yunyu", + "Yulyu", + "Ghuct", + "Cutenber", + "Tuber", + "Nunember", + "Dujanbir", + } + } + } + } + } +} diff --git a/icu/icu4c/source/data/locales/tzm_Latn.txt b/icu/icu4c/source/data/locales/tzm_Latn.txt new file mode 100644 index 00000000000..40dbe914a1a --- /dev/null +++ b/icu/icu4c/source/data/locales/tzm_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn{ + "%%ALIAS"{"tzm"} +} diff --git a/icu/icu4c/source/data/locales/tzm_Latn_DZ.txt b/icu/icu4c/source/data/locales/tzm_Latn_DZ.txt new file mode 100644 index 00000000000..099c0786222 --- /dev/null +++ b/icu/icu4c/source/data/locales/tzm_Latn_DZ.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_DZ{ + "%%ALIAS"{"tzm_DZ"} +} diff --git a/icu/icu4c/source/data/locales/tzm_Latn_MA.txt b/icu/icu4c/source/data/locales/tzm_Latn_MA.txt new file mode 100644 index 00000000000..c86150699b4 --- /dev/null +++ b/icu/icu4c/source/data/locales/tzm_Latn_MA.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_MA{ + "%%ALIAS"{"tzm_MA"} +} diff --git a/icu/icu4c/source/data/locales/tzm_Tfng.txt b/icu/icu4c/source/data/locales/tzm_Tfng.txt new file mode 100644 index 00000000000..54243453121 --- /dev/null +++ b/icu/icu4c/source/data/locales/tzm_Tfng.txt @@ -0,0 +1,172 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Tfng{ + NumberElements{ + latn{ + patterns{ + currencyFormat{"#,##0.00 ¤"} + percentFormat{"#,##0 %"} + } + symbols{ + nan{"ⵡⴰⵔ ⴰⵎⴹⴰⵏ"} + } + } + } + calendar{ + gregorian{ + DateTimePatterns{ + "H:mm:ss zzzz", + "H:mm:ss z", + "H:mm:ss", + "H:mm", + "EEEE, dd MMMM, y", + "dd MMMM, y", + "dd.MMM.y", + "dd-MM-y", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + "{1} {0}", + } + availableFormats{ + MMMMEd{"E dd MMMM"} + MMMMd{"dd MMMM"} + yMMMM{"MMMM, y"} + } + dayNames{ + format{ + abbreviated{ + "ⵙⵎⵙ", + "ⵢⵏⵙ", + "ⵙⵏⵙ", + "ⴽⵕⵙ", + "ⴽⵡⵙ", + "ⵙⵎⵡ", + "ⵙⴹⵙ", + } + short{ + "ⵙⵎ", + "ⵢⵏ", + "ⵙⵏ", + "ⴽⵕ", + "ⴽⵡ", + "ⵙⵡ", + "ⵙⴹ", + } + wide{ + "ⴰⵙⴰⵎⴰⵙ", + "ⴰⵢⵏⴰⵙ", + "ⴰⵙⵉⵏⴰⵙ", + "ⴰⴽⵕⴰⵙ", + "ⴰⴽⵡⴰⵙ", + "ⴰⵙⵉⵎⵡⴰⵙ", + "ⴰⵙⵉⴹⵢⴰⵙ", + } + } + stand-alone{ + abbreviated{ + "ⵙⵎⵙ", + "ⵢⵏⵙ", + "ⵙⵏⵙ", + "ⴽⵕⵙ", + "ⴽⵡⵙ", + "ⵙⵎⵡ", + "ⵙⴹⵙ", + } + short{ + "ⵙⵎ", + "ⵢⵏ", + "ⵙⵏ", + "ⴽⵕ", + "ⴽⵡ", + "ⵙⵡ", + "ⵙⴹ", + } + wide{ + "ⴰⵙⴰⵎⴰⵙ", + "ⴰⵢⵏⴰⵙ", + "ⴰⵙⵉⵏⴰⵙ", + "ⴰⴽⵕⴰⵙ", + "ⴰⴽⵡⴰⵙ", + "ⴰⵙⵉⵎⵡⴰⵙ", + "ⴰⵙⵉⴹⵢⴰⵙ", + } + } + } + eras{ + abbreviated{ + "BCE", + "ⴷ-ⵙ.ⵄ.", + } + wide{ + "BCE", + "ⴷⴰⵜ ⵙⵉⴷⵏⴰ ⵄⵉⵙⴰ", + } + } + monthNames{ + format{ + abbreviated{ + "ⵏⵢⵔ", + "ⴱⵕⵢ", + "ⵎⵕⵚ", + "ⴱⵔⵔ", + "ⵎⵢⵢ", + "ⵢⵏⵢ", + "ⵢⵍⵢ", + "ⵖⵛⵜ", + "ⵛⵜⵏ", + "ⴽⵜⴱ", + "ⵏⵡⴱ", + "ⴷⵊⵏ", + } + wide{ + "ⵉⵏⵏⴰⵢⵔ", + "ⴱⵕⴰⵢⵕ", + "ⵎⴰⵕⵚ", + "ⵉⴱⵔⵉⵔ", + "ⵎⴰⵢⵢⵓ", + "ⵢⵓⵏⵢⵓ", + "ⵢⵓⵍⵢⵓⵣ", + "ⵖⵓⵛⵜ", + "ⵛⵓⵜⴰⵏⴱⵉⵔ", + "ⴽⵜⵓⴱⵕ", + "ⵏⵓⵡⴰⵏⴱⵉⵔ", + "ⴷⵓⵊⴰⵏⴱⵉⵔ", + } + } + stand-alone{ + abbreviated{ + "ⵏⵢⵔ", + "ⴱⵕⵢ", + "ⵎⵕⵚ", + "ⴱⵔⵔ", + "ⵎⵢⵢ", + "ⵢⵏⵢ", + "ⵢⵍⵢ", + "ⵖⵛⵜ", + "ⵛⵜⵏ", + "ⴽⵜⴱ", + "ⵏⵡⴱ", + "ⴷⵊⵏ", + } + wide{ + "ⵉⵏⵏⴰⵢⵔ", + "ⴱⵕⴰⵢⵕ", + "ⵎⴰⵕⵚ", + "ⵉⴱⵔⵉⵔ", + "ⵎⴰⵢⵢⵓ", + "ⵢⵓⵏⵢⵓ", + "ⵢⵓⵍⵢⵓⵣ", + "ⵖⵓⵛⵜ", + "ⵛⵓⵜⴰⵏⴱⵉⵔ", + "ⴽⵜⵓⴱⵕ", + "ⵏⵓⵡⴰⵏⴱⵉⵔ", + "ⴷⵓⵊⴰⵏⴱⵉⵔ", + } + } + } + } + } +} diff --git a/icu/icu4c/source/data/locales/tzm_Tfng_MA.txt b/icu/icu4c/source/data/locales/tzm_Tfng_MA.txt new file mode 100644 index 00000000000..664acd2f2be --- /dev/null +++ b/icu/icu4c/source/data/locales/tzm_Tfng_MA.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Tfng_MA{ +} diff --git a/icu/icu4c/source/data/misc/supplementalData.txt b/icu/icu4c/source/data/misc/supplementalData.txt index 9474e649fc6..ff21ba9860a 100644 --- a/icu/icu4c/source/data/misc/supplementalData.txt +++ b/icu/icu4c/source/data/misc/supplementalData.txt @@ -19541,6 +19541,13 @@ supplementalData:table(nofallback){ 210, } } + 029{ + MeasurementSystem:int{1} + PaperSize:intvector{ + 279, + 216, + } + } BS{ MeasurementSystemCategory{ temperature:int{1} diff --git a/icu/icu4c/source/data/region/LOCALE_DEPS.json b/icu/icu4c/source/data/region/LOCALE_DEPS.json index 6f4bfbc0617..1b77cc7bd27 100644 --- a/icu/icu4c/source/data/region/LOCALE_DEPS.json +++ b/icu/icu4c/source/data/region/LOCALE_DEPS.json @@ -21,6 +21,10 @@ "ff_GN": "ff_Latn_GN", "ff_MR": "ff_Latn_MR", "ff_SN": "ff_Latn_SN", + "ha_Latn": "ha", + "ha_Latn_GH": "ha_GH", + "ha_Latn_NE": "ha_NE", + "ha_Latn_NG": "ha_NG", "in": "id", "in_ID": "id_ID", "iu_Cans": "iu", @@ -75,6 +79,9 @@ "su_ID": "su_Latn_ID", "tl": "fil", "tl_PH": "fil_PH", + "tzm_Latn": "tzm", + "tzm_Latn_DZ": "tzm_DZ", + "tzm_Latn_MA": "tzm_MA", "uz_AF": "uz_Arab_AF", "uz_UZ": "uz_Latn_UZ", "vai_LR": "vai_Vaii_LR", @@ -204,6 +211,7 @@ "es_VE": "es_419", "ff_Adlm": "root", "iu_Latn": "root", + "ks_Deva": "root", "mn_Mong": "root", "pa_Arab": "root", "pt_AO": "pt_PT", diff --git a/icu/icu4c/source/data/region/bin.txt b/icu/icu4c/source/data/region/bin.txt new file mode 100644 index 00000000000..454f8ed46db --- /dev/null +++ b/icu/icu4c/source/data/region/bin.txt @@ -0,0 +1,8 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +bin{ + Countries{ + NG{"Nigeria"} + } +} diff --git a/icu/icu4c/source/data/region/ff_Latn_MR.txt b/icu/icu4c/source/data/region/ff_Latn_MR.txt index 0f5eb4148f9..dd6364bc3bd 100644 --- a/icu/icu4c/source/data/region/ff_Latn_MR.txt +++ b/icu/icu4c/source/data/region/ff_Latn_MR.txt @@ -1,8 +1,9 @@ // © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html // Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ ff_Latn_MR{ - Countries{ - PS{"السلطة الفلسطينية"} - } + ___{""} } diff --git a/icu/icu4c/source/data/region/ha_Latn.txt b/icu/icu4c/source/data/region/ha_Latn.txt new file mode 100644 index 00000000000..0eeb272f433 --- /dev/null +++ b/icu/icu4c/source/data/region/ha_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn{ + "%%ALIAS"{"ha"} +} diff --git a/icu/icu4c/source/data/region/ha_Latn_GH.txt b/icu/icu4c/source/data/region/ha_Latn_GH.txt new file mode 100644 index 00000000000..dfdd0f52934 --- /dev/null +++ b/icu/icu4c/source/data/region/ha_Latn_GH.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_GH{ + "%%ALIAS"{"ha_GH"} +} diff --git a/icu/icu4c/source/data/region/ha_Latn_NE.txt b/icu/icu4c/source/data/region/ha_Latn_NE.txt new file mode 100644 index 00000000000..b9dd7955071 --- /dev/null +++ b/icu/icu4c/source/data/region/ha_Latn_NE.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NE{ + "%%ALIAS"{"ha_NE"} +} diff --git a/icu/icu4c/source/data/region/ha_Latn_NG.txt b/icu/icu4c/source/data/region/ha_Latn_NG.txt new file mode 100644 index 00000000000..33d19431bc0 --- /dev/null +++ b/icu/icu4c/source/data/region/ha_Latn_NG.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NG{ + "%%ALIAS"{"ha_NG"} +} diff --git a/icu/icu4c/source/data/region/ibb.txt b/icu/icu4c/source/data/region/ibb.txt new file mode 100644 index 00000000000..e47f7a4fbd2 --- /dev/null +++ b/icu/icu4c/source/data/region/ibb.txt @@ -0,0 +1,8 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ibb{ + Countries{ + NG{"Nigeria"} + } +} diff --git a/icu/icu4c/source/data/region/kr.txt b/icu/icu4c/source/data/region/kr.txt new file mode 100644 index 00000000000..deb77943734 --- /dev/null +++ b/icu/icu4c/source/data/region/kr.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +kr{ +} diff --git a/icu/icu4c/source/data/region/ks_Deva.txt b/icu/icu4c/source/data/region/ks_Deva.txt new file mode 100644 index 00000000000..4e3f94cb787 --- /dev/null +++ b/icu/icu4c/source/data/region/ks_Deva.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ks_Deva{ + %%Parent{"root"} +} diff --git a/icu/icu4c/source/data/region/la.txt b/icu/icu4c/source/data/region/la.txt new file mode 100644 index 00000000000..31eb90800fe --- /dev/null +++ b/icu/icu4c/source/data/region/la.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +la{ +} diff --git a/icu/icu4c/source/data/region/pap.txt b/icu/icu4c/source/data/region/pap.txt new file mode 100644 index 00000000000..4a656bc5380 --- /dev/null +++ b/icu/icu4c/source/data/region/pap.txt @@ -0,0 +1,8 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +pap{ + Countries{ + 029{"Caribbean"} + } +} diff --git a/icu/icu4c/source/data/region/tzm_DZ.txt b/icu/icu4c/source/data/region/tzm_DZ.txt new file mode 100644 index 00000000000..36945d3ba3a --- /dev/null +++ b/icu/icu4c/source/data/region/tzm_DZ.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +tzm_DZ{ + ___{""} +} diff --git a/icu/icu4c/source/data/region/tzm_Latn.txt b/icu/icu4c/source/data/region/tzm_Latn.txt new file mode 100644 index 00000000000..40dbe914a1a --- /dev/null +++ b/icu/icu4c/source/data/region/tzm_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn{ + "%%ALIAS"{"tzm"} +} diff --git a/icu/icu4c/source/data/region/tzm_Latn_DZ.txt b/icu/icu4c/source/data/region/tzm_Latn_DZ.txt new file mode 100644 index 00000000000..099c0786222 --- /dev/null +++ b/icu/icu4c/source/data/region/tzm_Latn_DZ.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_DZ{ + "%%ALIAS"{"tzm_DZ"} +} diff --git a/icu/icu4c/source/data/region/tzm_Latn_MA.txt b/icu/icu4c/source/data/region/tzm_Latn_MA.txt new file mode 100644 index 00000000000..c86150699b4 --- /dev/null +++ b/icu/icu4c/source/data/region/tzm_Latn_MA.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_MA{ + "%%ALIAS"{"tzm_MA"} +} diff --git a/icu/icu4c/source/data/region/tzm_MA.txt b/icu/icu4c/source/data/region/tzm_MA.txt new file mode 100644 index 00000000000..adb983ffd15 --- /dev/null +++ b/icu/icu4c/source/data/region/tzm_MA.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +tzm_MA{ + ___{""} +} diff --git a/icu/icu4c/source/data/region/tzm_Tfng.txt b/icu/icu4c/source/data/region/tzm_Tfng.txt new file mode 100644 index 00000000000..d5c391d730b --- /dev/null +++ b/icu/icu4c/source/data/region/tzm_Tfng.txt @@ -0,0 +1,8 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Tfng{ + Countries{ + MA{"ⵍⵎⵖⵔⵉⴱ"} + } +} diff --git a/icu/icu4c/source/data/unit/LOCALE_DEPS.json b/icu/icu4c/source/data/unit/LOCALE_DEPS.json index 6f4bfbc0617..1b77cc7bd27 100644 --- a/icu/icu4c/source/data/unit/LOCALE_DEPS.json +++ b/icu/icu4c/source/data/unit/LOCALE_DEPS.json @@ -21,6 +21,10 @@ "ff_GN": "ff_Latn_GN", "ff_MR": "ff_Latn_MR", "ff_SN": "ff_Latn_SN", + "ha_Latn": "ha", + "ha_Latn_GH": "ha_GH", + "ha_Latn_NE": "ha_NE", + "ha_Latn_NG": "ha_NG", "in": "id", "in_ID": "id_ID", "iu_Cans": "iu", @@ -75,6 +79,9 @@ "su_ID": "su_Latn_ID", "tl": "fil", "tl_PH": "fil_PH", + "tzm_Latn": "tzm", + "tzm_Latn_DZ": "tzm_DZ", + "tzm_Latn_MA": "tzm_MA", "uz_AF": "uz_Arab_AF", "uz_UZ": "uz_Latn_UZ", "vai_LR": "vai_Vaii_LR", @@ -204,6 +211,7 @@ "es_VE": "es_419", "ff_Adlm": "root", "iu_Latn": "root", + "ks_Deva": "root", "mn_Mong": "root", "pa_Arab": "root", "pt_AO": "pt_PT", diff --git a/icu/icu4c/source/data/unit/bin.txt b/icu/icu4c/source/data/unit/bin.txt new file mode 100644 index 00000000000..d773a332ce7 --- /dev/null +++ b/icu/icu4c/source/data/unit/bin.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +bin{ +} diff --git a/icu/icu4c/source/data/unit/ha_GH.txt b/icu/icu4c/source/data/unit/ha_GH.txt new file mode 100644 index 00000000000..6dd3820c7dd --- /dev/null +++ b/icu/icu4c/source/data/unit/ha_GH.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_GH{ + ___{""} +} diff --git a/icu/icu4c/source/data/unit/ha_Latn.txt b/icu/icu4c/source/data/unit/ha_Latn.txt new file mode 100644 index 00000000000..0eeb272f433 --- /dev/null +++ b/icu/icu4c/source/data/unit/ha_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn{ + "%%ALIAS"{"ha"} +} diff --git a/icu/icu4c/source/data/unit/ha_Latn_GH.txt b/icu/icu4c/source/data/unit/ha_Latn_GH.txt new file mode 100644 index 00000000000..dfdd0f52934 --- /dev/null +++ b/icu/icu4c/source/data/unit/ha_Latn_GH.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_GH{ + "%%ALIAS"{"ha_GH"} +} diff --git a/icu/icu4c/source/data/unit/ha_Latn_NE.txt b/icu/icu4c/source/data/unit/ha_Latn_NE.txt new file mode 100644 index 00000000000..b9dd7955071 --- /dev/null +++ b/icu/icu4c/source/data/unit/ha_Latn_NE.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NE{ + "%%ALIAS"{"ha_NE"} +} diff --git a/icu/icu4c/source/data/unit/ha_Latn_NG.txt b/icu/icu4c/source/data/unit/ha_Latn_NG.txt new file mode 100644 index 00000000000..33d19431bc0 --- /dev/null +++ b/icu/icu4c/source/data/unit/ha_Latn_NG.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NG{ + "%%ALIAS"{"ha_NG"} +} diff --git a/icu/icu4c/source/data/unit/ha_NE.txt b/icu/icu4c/source/data/unit/ha_NE.txt new file mode 100644 index 00000000000..7991d4caf5f --- /dev/null +++ b/icu/icu4c/source/data/unit/ha_NE.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_NE{ + ___{""} +} diff --git a/icu/icu4c/source/data/unit/ha_NG.txt b/icu/icu4c/source/data/unit/ha_NG.txt new file mode 100644 index 00000000000..112a2b67283 --- /dev/null +++ b/icu/icu4c/source/data/unit/ha_NG.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_NG{ + ___{""} +} diff --git a/icu/icu4c/source/data/unit/ibb.txt b/icu/icu4c/source/data/unit/ibb.txt new file mode 100644 index 00000000000..d1822fe81c5 --- /dev/null +++ b/icu/icu4c/source/data/unit/ibb.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ibb{ +} diff --git a/icu/icu4c/source/data/unit/kr.txt b/icu/icu4c/source/data/unit/kr.txt new file mode 100644 index 00000000000..deb77943734 --- /dev/null +++ b/icu/icu4c/source/data/unit/kr.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +kr{ +} diff --git a/icu/icu4c/source/data/unit/ks_Deva.txt b/icu/icu4c/source/data/unit/ks_Deva.txt new file mode 100644 index 00000000000..4e3f94cb787 --- /dev/null +++ b/icu/icu4c/source/data/unit/ks_Deva.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ks_Deva{ + %%Parent{"root"} +} diff --git a/icu/icu4c/source/data/unit/la.txt b/icu/icu4c/source/data/unit/la.txt new file mode 100644 index 00000000000..31eb90800fe --- /dev/null +++ b/icu/icu4c/source/data/unit/la.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +la{ +} diff --git a/icu/icu4c/source/data/unit/pap.txt b/icu/icu4c/source/data/unit/pap.txt new file mode 100644 index 00000000000..6ac8f73a114 --- /dev/null +++ b/icu/icu4c/source/data/unit/pap.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +pap{ +} diff --git a/icu/icu4c/source/data/unit/tzm_DZ.txt b/icu/icu4c/source/data/unit/tzm_DZ.txt new file mode 100644 index 00000000000..36945d3ba3a --- /dev/null +++ b/icu/icu4c/source/data/unit/tzm_DZ.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +tzm_DZ{ + ___{""} +} diff --git a/icu/icu4c/source/data/unit/tzm_Latn.txt b/icu/icu4c/source/data/unit/tzm_Latn.txt new file mode 100644 index 00000000000..40dbe914a1a --- /dev/null +++ b/icu/icu4c/source/data/unit/tzm_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn{ + "%%ALIAS"{"tzm"} +} diff --git a/icu/icu4c/source/data/unit/tzm_Latn_DZ.txt b/icu/icu4c/source/data/unit/tzm_Latn_DZ.txt new file mode 100644 index 00000000000..099c0786222 --- /dev/null +++ b/icu/icu4c/source/data/unit/tzm_Latn_DZ.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_DZ{ + "%%ALIAS"{"tzm_DZ"} +} diff --git a/icu/icu4c/source/data/unit/tzm_Latn_MA.txt b/icu/icu4c/source/data/unit/tzm_Latn_MA.txt new file mode 100644 index 00000000000..c86150699b4 --- /dev/null +++ b/icu/icu4c/source/data/unit/tzm_Latn_MA.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_MA{ + "%%ALIAS"{"tzm_MA"} +} diff --git a/icu/icu4c/source/data/unit/tzm_MA.txt b/icu/icu4c/source/data/unit/tzm_MA.txt new file mode 100644 index 00000000000..adb983ffd15 --- /dev/null +++ b/icu/icu4c/source/data/unit/tzm_MA.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +tzm_MA{ + ___{""} +} diff --git a/icu/icu4c/source/data/zone/LOCALE_DEPS.json b/icu/icu4c/source/data/zone/LOCALE_DEPS.json index 6f4bfbc0617..1b77cc7bd27 100644 --- a/icu/icu4c/source/data/zone/LOCALE_DEPS.json +++ b/icu/icu4c/source/data/zone/LOCALE_DEPS.json @@ -21,6 +21,10 @@ "ff_GN": "ff_Latn_GN", "ff_MR": "ff_Latn_MR", "ff_SN": "ff_Latn_SN", + "ha_Latn": "ha", + "ha_Latn_GH": "ha_GH", + "ha_Latn_NE": "ha_NE", + "ha_Latn_NG": "ha_NG", "in": "id", "in_ID": "id_ID", "iu_Cans": "iu", @@ -75,6 +79,9 @@ "su_ID": "su_Latn_ID", "tl": "fil", "tl_PH": "fil_PH", + "tzm_Latn": "tzm", + "tzm_Latn_DZ": "tzm_DZ", + "tzm_Latn_MA": "tzm_MA", "uz_AF": "uz_Arab_AF", "uz_UZ": "uz_Latn_UZ", "vai_LR": "vai_Vaii_LR", @@ -204,6 +211,7 @@ "es_VE": "es_419", "ff_Adlm": "root", "iu_Latn": "root", + "ks_Deva": "root", "mn_Mong": "root", "pa_Arab": "root", "pt_AO": "pt_PT", diff --git a/icu/icu4c/source/data/zone/bin.txt b/icu/icu4c/source/data/zone/bin.txt new file mode 100644 index 00000000000..d773a332ce7 --- /dev/null +++ b/icu/icu4c/source/data/zone/bin.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +bin{ +} diff --git a/icu/icu4c/source/data/zone/ha_GH.txt b/icu/icu4c/source/data/zone/ha_GH.txt new file mode 100644 index 00000000000..6dd3820c7dd --- /dev/null +++ b/icu/icu4c/source/data/zone/ha_GH.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_GH{ + ___{""} +} diff --git a/icu/icu4c/source/data/zone/ha_Latn.txt b/icu/icu4c/source/data/zone/ha_Latn.txt new file mode 100644 index 00000000000..0eeb272f433 --- /dev/null +++ b/icu/icu4c/source/data/zone/ha_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn{ + "%%ALIAS"{"ha"} +} diff --git a/icu/icu4c/source/data/zone/ha_Latn_GH.txt b/icu/icu4c/source/data/zone/ha_Latn_GH.txt new file mode 100644 index 00000000000..dfdd0f52934 --- /dev/null +++ b/icu/icu4c/source/data/zone/ha_Latn_GH.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_GH{ + "%%ALIAS"{"ha_GH"} +} diff --git a/icu/icu4c/source/data/zone/ha_Latn_NE.txt b/icu/icu4c/source/data/zone/ha_Latn_NE.txt new file mode 100644 index 00000000000..b9dd7955071 --- /dev/null +++ b/icu/icu4c/source/data/zone/ha_Latn_NE.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NE{ + "%%ALIAS"{"ha_NE"} +} diff --git a/icu/icu4c/source/data/zone/ha_Latn_NG.txt b/icu/icu4c/source/data/zone/ha_Latn_NG.txt new file mode 100644 index 00000000000..33d19431bc0 --- /dev/null +++ b/icu/icu4c/source/data/zone/ha_Latn_NG.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ha_Latn_NG{ + "%%ALIAS"{"ha_NG"} +} diff --git a/icu/icu4c/source/data/zone/ha_NE.txt b/icu/icu4c/source/data/zone/ha_NE.txt new file mode 100644 index 00000000000..7991d4caf5f --- /dev/null +++ b/icu/icu4c/source/data/zone/ha_NE.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_NE{ + ___{""} +} diff --git a/icu/icu4c/source/data/zone/ha_NG.txt b/icu/icu4c/source/data/zone/ha_NG.txt new file mode 100644 index 00000000000..112a2b67283 --- /dev/null +++ b/icu/icu4c/source/data/zone/ha_NG.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +ha_NG{ + ___{""} +} diff --git a/icu/icu4c/source/data/zone/ibb.txt b/icu/icu4c/source/data/zone/ibb.txt new file mode 100644 index 00000000000..d1822fe81c5 --- /dev/null +++ b/icu/icu4c/source/data/zone/ibb.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ibb{ +} diff --git a/icu/icu4c/source/data/zone/kr.txt b/icu/icu4c/source/data/zone/kr.txt new file mode 100644 index 00000000000..deb77943734 --- /dev/null +++ b/icu/icu4c/source/data/zone/kr.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +kr{ +} diff --git a/icu/icu4c/source/data/zone/ks_Deva.txt b/icu/icu4c/source/data/zone/ks_Deva.txt new file mode 100644 index 00000000000..4e3f94cb787 --- /dev/null +++ b/icu/icu4c/source/data/zone/ks_Deva.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +ks_Deva{ + %%Parent{"root"} +} diff --git a/icu/icu4c/source/data/zone/la.txt b/icu/icu4c/source/data/zone/la.txt new file mode 100644 index 00000000000..31eb90800fe --- /dev/null +++ b/icu/icu4c/source/data/zone/la.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +la{ +} diff --git a/icu/icu4c/source/data/zone/pap.txt b/icu/icu4c/source/data/zone/pap.txt new file mode 100644 index 00000000000..6ac8f73a114 --- /dev/null +++ b/icu/icu4c/source/data/zone/pap.txt @@ -0,0 +1,5 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +pap{ +} diff --git a/icu/icu4c/source/data/zone/tzm_DZ.txt b/icu/icu4c/source/data/zone/tzm_DZ.txt new file mode 100644 index 00000000000..36945d3ba3a --- /dev/null +++ b/icu/icu4c/source/data/zone/tzm_DZ.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +tzm_DZ{ + ___{""} +} diff --git a/icu/icu4c/source/data/zone/tzm_Latn.txt b/icu/icu4c/source/data/zone/tzm_Latn.txt new file mode 100644 index 00000000000..40dbe914a1a --- /dev/null +++ b/icu/icu4c/source/data/zone/tzm_Latn.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn{ + "%%ALIAS"{"tzm"} +} diff --git a/icu/icu4c/source/data/zone/tzm_Latn_DZ.txt b/icu/icu4c/source/data/zone/tzm_Latn_DZ.txt new file mode 100644 index 00000000000..099c0786222 --- /dev/null +++ b/icu/icu4c/source/data/zone/tzm_Latn_DZ.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_DZ{ + "%%ALIAS"{"tzm_DZ"} +} diff --git a/icu/icu4c/source/data/zone/tzm_Latn_MA.txt b/icu/icu4c/source/data/zone/tzm_Latn_MA.txt new file mode 100644 index 00000000000..c86150699b4 --- /dev/null +++ b/icu/icu4c/source/data/zone/tzm_Latn_MA.txt @@ -0,0 +1,6 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +tzm_Latn_MA{ + "%%ALIAS"{"tzm_MA"} +} diff --git a/icu/icu4c/source/data/zone/tzm_MA.txt b/icu/icu4c/source/data/zone/tzm_MA.txt new file mode 100644 index 00000000000..adb983ffd15 --- /dev/null +++ b/icu/icu4c/source/data/zone/tzm_MA.txt @@ -0,0 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +/** + * generated alias target + */ +tzm_MA{ + ___{""} +} diff --git a/icu/icu4c/source/test/cintltst/cldrtest.c b/icu/icu4c/source/test/cintltst/cldrtest.c index 179539d5178..bfb35c35a44 100644 --- a/icu/icu4c/source/test/cintltst/cldrtest.c +++ b/icu/icu4c/source/test/cintltst/cldrtest.c @@ -970,7 +970,14 @@ static void VerifyTranslation(void) { uprv_strncmp(currLoc, "oc", 2) == 0 || uprv_strncmp(currLoc, "oc_FR", 5) == 0 || uprv_strncmp(currLoc, "syr", 3) == 0 || uprv_strncmp(currLoc, "syr_SY", 6) == 0 || uprv_strncmp(currLoc, "tig", 3) == 0 || uprv_strncmp(currLoc, "tig_ER", 6) == 0 || - uprv_strncmp(currLoc, "wal", 3) == 0 || uprv_strncmp(currLoc, "wal_ET", 6) == 0 + uprv_strncmp(currLoc, "wal", 3) == 0 || uprv_strncmp(currLoc, "wal_ET", 6) == 0 || + uprv_strncmp(currLoc, "bin", 3) == 0 || uprv_strncmp(currLoc, "bin_NG", 6) == 0 || + uprv_strncmp(currLoc, "la", 2) == 0 || uprv_strncmp(currLoc, "la_VA", 6) == 0 || + uprv_strncmp(currLoc, "jv_Java", 7) == 0 || uprv_strncmp(currLoc, "jv_Java_ID", 10) == 0 || + uprv_strncmp(currLoc, "ks_Deva", 7) == 0 || uprv_strncmp(currLoc, "ks_Deva_IN", 10) == 0 || + uprv_strncmp(currLoc, "pap", 3) == 0 || uprv_strncmp(currLoc, "pap_029", 7) == 0 || + uprv_strncmp(currLoc, "tzm_Arab", 8) == 0 || uprv_strncmp(currLoc, "tzm_Arab_MA", 11) == 0 || + uprv_strncmp(currLoc, "tzm_Tfng", 8) == 0 || uprv_strncmp(currLoc, "tzm_Tfng_MA", 11) == 0 ) { log_knownIssue("0", "MSFT Change: skipping test for %s which has issues due to CLDR Seed data.", currLoc); } @@ -1110,7 +1117,8 @@ static void VerifyTranslation(void) { if (U_FAILURE(errorCode)) { log_err("ulocdata_getMeasurementSystem failed for locale %s with error: %s \n", currLoc, u_errorName(errorCode)); } else { - if ( strstr(fullLoc, "_US")!=NULL || strstr(fullLoc, "_LR")!=NULL ) { + /* MSFT Change: CLDR-MS adds 029 region with US measurement */ + if ( strstr(fullLoc, "_US")!=NULL || strstr(fullLoc, "_LR")!=NULL || strstr(fullLoc, "_029")!=NULL ) { if(measurementSystem != UMS_US){ log_err("ulocdata_getMeasurementSystem did not return expected data for locale %s \n", currLoc); } @@ -1128,10 +1136,11 @@ static void VerifyTranslation(void) { if (U_FAILURE(errorCode)) { log_err("ulocdata_getPaperSize failed for locale %s with error: %s \n", currLoc, u_errorName(errorCode)); } else { + /* MSFT Change: CLDR-MS adds 029 region with US paper size */ if ( strstr(fullLoc, "_US")!=NULL || strstr(fullLoc, "_BZ")!=NULL || strstr(fullLoc, "_CA")!=NULL || strstr(fullLoc, "_CL")!=NULL || strstr(fullLoc, "_CO")!=NULL || strstr(fullLoc, "_CR")!=NULL || strstr(fullLoc, "_GT")!=NULL || strstr(fullLoc, "_MX")!=NULL || strstr(fullLoc, "_NI")!=NULL || strstr(fullLoc, "_PA")!=NULL || strstr(fullLoc, "_PH")!=NULL || strstr(fullLoc, "_PR")!=NULL || - strstr(fullLoc, "_SV")!=NULL || strstr(fullLoc, "_VE")!=NULL ) { + strstr(fullLoc, "_SV")!=NULL || strstr(fullLoc, "_VE")!=NULL || strstr(fullLoc, "_029")!=NULL ) { if (height != 279 || width != 216) { log_err("ulocdata_getPaperSize did not return expected data for locale %s \n", currLoc); } @@ -1251,8 +1260,14 @@ static void TestExemplarSet(void){ if (existsInScript == FALSE){ /* MSFT Change */ - if (uprv_strncmp(locale, "oc", 2) == 0 || uprv_strncmp(locale, "oc_FR", 5) == 0) { - log_knownIssue("0", "MSFT Change: oc and oc_FR have ExemplarSet issues."); + if (uprv_strncmp(locale, "oc", 2) == 0 || uprv_strncmp(locale, "oc_FR", 5) == 0 || + uprv_strncmp(locale, "jv_Java", 7) == 0 || uprv_strncmp(locale, "jv_Java_ID", 10) == 0 || + uprv_strncmp(locale, "la", 2) == 0 || uprv_strncmp(locale, "la_VA", 6) == 0 || + uprv_strncmp(locale, "pap", 3) == 0 || uprv_strncmp(locale, "pap_029", 7) == 0 || + uprv_strncmp(locale, "tzm_Arab", 8) == 0 || uprv_strncmp(locale, "tzm_Arab_MA", 11) == 0 || + uprv_strncmp(locale, "tzm_Tfng", 8) == 0 || uprv_strncmp(locale, "tzm_Tfng_MA", 11) == 0 + ) { + log_knownIssue("0", "MSFT Change: skipping test for %s which has issue due to CLDR seed data.", locale); continue; } else { log_err("ExemplarSet containment failed for locale : %s\n", locale); diff --git a/icu/icu4c/source/test/cintltst/cnmdptst.c b/icu/icu4c/source/test/cintltst/cnmdptst.c index 99a9ce23be7..a319b99e3fa 100644 --- a/icu/icu4c/source/test/cintltst/cnmdptst.c +++ b/icu/icu4c/source/test/cintltst/cnmdptst.c @@ -811,7 +811,8 @@ static void TestGetKeywordValuesForLocale(void) { { "und", "USD", "USN", NULL }, /* { "und_ZZ", "USD", NULL, NULL }, -- temporarily remove as this locale now has 15 entries */ { "en_US", "USD", "USN", NULL }, - { "en_029", "USD", "USN", NULL }, + /* MSFT Change: CLDR-MS adds en_029 locale with XCD currency */ + { "en_029", "XCD", NULL, NULL }, { "en_TH", "THB", NULL, NULL }, { "de", "EUR", NULL, NULL }, { "de_DE", "EUR", NULL, NULL }, @@ -825,11 +826,13 @@ static void TestGetKeywordValuesForLocale(void) { { "en_US@currency=CAD;rg=THZZZZ", "THB", NULL, NULL }, }; const int32_t EXPECTED_SIZE[PREFERRED_SIZE] = { - 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1 + /* MSFT Change: CLDR-MS adds en_029 locale with XCD currency */ + 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1 }; /* ucurr_forLocale results for same locales; "" if no result expected */ const char *FORLOCALE[PREFERRED_SIZE] = { - "", "", "USD", "", + /* MSFT Change: CLDR-MS adds en_029 locale with XCD currency */ + "", "", "USD", "XCD", "THB", "", "EUR", "", "ILS", "CAD", "ZZZ", "DEM", "THB", "USD", "CAD" diff --git a/icu/icu4c/source/test/intltest/dtptngts.cpp b/icu/icu4c/source/test/intltest/dtptngts.cpp index dc86355f93f..c83e27bb68c 100644 --- a/icu/icu4c/source/test/intltest/dtptngts.cpp +++ b/icu/icu4c/source/test/intltest/dtptngts.cpp @@ -1408,7 +1408,8 @@ void IntlTestDateTimePatternGeneratorAPI::testJjMapping() { uprv_strncmp(localeID, "ssy_ER", 6) == 0 || uprv_strncmp(localeID, "st_LS", 5) == 0 || uprv_strncmp(localeID, "syr", 3) == 0 || uprv_strncmp(localeID, "syr_SY", 6) == 0 || uprv_strncmp(localeID, "tig", 3) == 0 || uprv_strncmp(localeID, "tig_ER", 6) == 0 || - uprv_strncmp(localeID, "wal", 3) == 0 || uprv_strncmp(localeID, "wal_ET", 6) == 0 + uprv_strncmp(localeID, "wal", 3) == 0 || uprv_strncmp(localeID, "wal_ET", 6) == 0 || + uprv_strncmp(localeID, "ks_Deva", 7) == 0 || uprv_strncmp(localeID, "ks_Deva_IN", 10) == 0 ) { logKnownIssue("0", "MSFT Change: skipping test for %s which has issues due to CLDR Seed data.", localeID); } diff --git a/icu/icu4c/source/test/intltest/loctest.cpp b/icu/icu4c/source/test/intltest/loctest.cpp index 5f1075f5461..420ead8d335 100644 --- a/icu/icu4c/source/test/intltest/loctest.cpp +++ b/icu/icu4c/source/test/intltest/loctest.cpp @@ -282,6 +282,8 @@ void LocaleTest::runIndexedTest( int32_t index, UBool exec, const char* &name, c TESTCASE_AUTO(TestSetUnicodeKeywordValueNullInLongLocale); TESTCASE_AUTO(TestCanonicalize); TESTCASE_AUTO(TestLeak21419); + TESTCASE_AUTO(TestLongLocaleSetKeywordAssign); + TESTCASE_AUTO(TestLongLocaleSetKeywordMoveAssign); TESTCASE_AUTO_END; } @@ -6355,6 +6357,30 @@ void LocaleTest::TestSetUnicodeKeywordValueInLongLocale() { } } +void LocaleTest::TestLongLocaleSetKeywordAssign() { + IcuTestErrorCode status(*this, "TestLongLocaleSetKeywordAssign"); + // A long base name, with an illegal keyword and copy constructor + icu::Locale l("de_AAAAAAA1_AAAAAAA2_AAAAAAA3_AAAAAAA4_AAAAAAA5_AAAAAAA6_" + "AAAAAAA7_AAAAAAA8_AAAAAAA9_AAAAAA10_AAAAAA11_AAAAAA12_" + "AAAAAA13_AAAAAA14_AAAAAA15_AAAAAA16_AAAAAA17_AAAAAA18"); + Locale l2; + l.setUnicodeKeywordValue("co", "12", status); // Cause an error + status.reset(); + l2 = l; // copy operator on such bogus locale. +} + +void LocaleTest::TestLongLocaleSetKeywordMoveAssign() { + IcuTestErrorCode status(*this, "TestLongLocaleSetKeywordMoveAssign"); + // A long base name, with an illegal keyword and copy constructor + icu::Locale l("de_AAAAAAA1_AAAAAAA2_AAAAAAA3_AAAAAAA4_AAAAAAA5_AAAAAAA6_" + "AAAAAAA7_AAAAAAA8_AAAAAAA9_AAAAAA10_AAAAAA11_AAAAAA12_" + "AAAAAA13_AAAAAA14_AAAAAA15_AAAAAA16_AAAAAA17"); + Locale l2; + l.setUnicodeKeywordValue("co", "12", status); // Cause an error + status.reset(); + Locale l3 = std::move(l); // move assign +} + void LocaleTest::TestSetUnicodeKeywordValueNullInLongLocale() { IcuTestErrorCode status(*this, "TestSetUnicodeKeywordValueNullInLongLocale"); const char *exts[] = {"cf", "cu", "em", "kk", "kr", "ks", "kv", "lb", "lw", diff --git a/icu/icu4c/source/test/intltest/loctest.h b/icu/icu4c/source/test/intltest/loctest.h index 1fba6d94f56..edbd5c01016 100644 --- a/icu/icu4c/source/test/intltest/loctest.h +++ b/icu/icu4c/source/test/intltest/loctest.h @@ -154,6 +154,8 @@ class LocaleTest: public IntlTest { void TestSetUnicodeKeywordValueInLongLocale(); void TestSetUnicodeKeywordValueNullInLongLocale(); void TestLeak21419(); + void TestLongLocaleSetKeywordAssign(); + void TestLongLocaleSetKeywordMoveAssign(); private: void _checklocs(const char* label, diff --git a/icu/icu4c/source/test/intltest/numfmtst.cpp b/icu/icu4c/source/test/intltest/numfmtst.cpp index bc072bd8e37..a63c329c8ea 100644 --- a/icu/icu4c/source/test/intltest/numfmtst.cpp +++ b/icu/icu4c/source/test/intltest/numfmtst.cpp @@ -8094,10 +8094,12 @@ void NumberFormatTest::TestAccountingCurrency() { (Formattable)(double)-1000.5, UnicodeString("(\\uFFE51,000)").unescape(), FALSE, status); expect(NumberFormat::createInstance("de_DE", style, status), (Formattable)(double)-23456.7, UnicodeString("-23.456,70\\u00A0\\u20AC").unescape(), TRUE, status); + /* MSFT Change: We add a CLDR-MS locale en_ID */ expect(NumberFormat::createInstance("en_ID", style, status), - (Formattable)(double)0, UnicodeString("IDR\\u00A00.00").unescape(), TRUE, status); + (Formattable)(double)0, UnicodeString("IDR\\u00A00,00").unescape(), TRUE, status); expect(NumberFormat::createInstance("en_ID", style, status), - (Formattable)(double)-0.2, UnicodeString("(IDR\\u00A00.20)").unescape(), TRUE, status); + (Formattable)(double)-0.2, UnicodeString("(IDR\\u00A00,20)").unescape(), TRUE, status); + /* MSFT Change: End */ expect(NumberFormat::createInstance("sh_ME", style, status), (Formattable)(double)0, UnicodeString("0,00\\u00A0\\u20AC").unescape(), TRUE, status); expect(NumberFormat::createInstance("sh_ME", style, status), diff --git a/icu/icu4c/source/tools/toolutil/package.h b/icu/icu4c/source/tools/toolutil/package.h index ea60c13a74a..6c411ae5fd0 100644 --- a/icu/icu4c/source/tools/toolutil/package.h +++ b/icu/icu4c/source/tools/toolutil/package.h @@ -27,7 +27,7 @@ // .dat package file representation ---------------------------------------- *** -#define STRING_STORE_SIZE 100000 +#define STRING_STORE_SIZE 120000 #define MAX_PKG_NAME_LENGTH 64 typedef void CheckDependency(void *context, const char *itemName, const char *targetName); diff --git a/icu/tools/cldr/cldr-to-icu/build-icu-data.xml b/icu/tools/cldr/cldr-to-icu/build-icu-data.xml index 6d81bcd0639..cb9b7515112 100644 --- a/icu/tools/cldr/cldr-to-icu/build-icu-data.xml +++ b/icu/tools/cldr/cldr-to-icu/build-icu-data.xml @@ -169,6 +169,14 @@ + + + + + + + + @@ -200,6 +208,12 @@ + + + + + + diff --git a/version.txt b/version.txt index 80b6402b16c..c8fee944013 100644 --- a/version.txt +++ b/version.txt @@ -35,5 +35,5 @@ # in the header file "uvernum.h" whenever updated and/or changed. # -ICU_version = 68.2.0.4 +ICU_version = 68.2.0.6 ICU_upstream_hash = 84e1f26ea77152936e70d53178a816dbfbf69989