Commit graph

133 commits

Author SHA1 Message Date
Tim Chevalier
f7d641d5ad ICU-22261 Add tech preview implementation for MessageFormat 2.0 to icu4c 2024-03-27 17:04:07 -04:00
Mihai Nita
47b9a517be ICU-21107 Specify language standard versions C11 & C++17 also for MSVC
ICU-21107 Specify language standard versions C11 & C++17 also for MSVC
2024-01-17 09:26:22 -08:00
Fredrik Roubert
078b88a11a ICU-21107 Specify language standard versions C11 & C++17 also for MSVC.
There were until now no versions specified at all, relying on the
default (or commandline overrides) to be sufficiently recent.
2024-01-16 22:22:05 +09:00
Shane F. Carr
a2854b615a ICU-22093 ICU4C: Add SimpleNumber and SimpleNumberFormatter
See #2241
2022-11-28 20:28:50 -08:00
Frank Tang
9c1fb785b3 ICU-22164 Replace switch+getType with subclass
See #2215

fix
2022-11-11 14:49:16 -08:00
Younies Mahmoud
fcc981a5b7 ICU-21935 Add DisplayOptions
See #2061
2022-05-21 03:20:37 +02:00
Jeff Genovy
861e55c246 ICU-21972 Use a shared props file for the ICU Major Version number in the Windows Visual Studio project files. 2022-03-30 20:55:36 -07:00
Erik Torres
53f4ddf278 ICU-21900 BRSRC 71.0.1 Version update and regenerate configure
See #1973
2022-02-17 14:00:19 -08:00
Erik Torres
48ef451b87 ICU-21581 BRSRC 70.0.1 Version update and regenerate configure for v70.0.1
See #1738
2021-06-04 14:09:41 -07:00
Erik Torres Aguilar
9c73e15d02 ICU-21480 BRS69RC Version update and regenerate configure for v69
See #1567
2021-02-11 15:43:55 -08:00
Shane F. Carr
6b3a7a64ab ICU-21190 Adding PluralRules select for number ranges
See #1309
2020-09-22 15:49:30 -05:00
Hugo van der Merwe
e3123c83a4 ICU-20568 Support smart units / unit contexts / preferences
Explore Usage-related error codes, address icu-units/icu#36.
PR: https://github.com/icu-units/icu/pull/56
Commit: d5d7fdccfe

Implement Precision handling in UsagePrefsHandler::processQuantity
PR: https://github.com/icu-units/icu/pull/61
Commit: 16547f3298

Support Mixed Units in NumberFormatter when using usage()
PR: https://github.com/icu-units/icu/pull/52
Commit: cc5a122021

For MixedUnits, use the correct ListFormatter styles.
PR: https://github.com/icu-units/icu/pull/66
Commit: 77bb747002

Read the CLDR testData test files from the new location.
PR: https://github.com/icu-units/icu/pull/68
Commit: 6eb992e2b3

Fix double-precision maths in unit conversions
PR: https://github.com/icu-units/icu/pull/71
Commit: 78e88fbddef0f6817654d58c9c5dfeb6606324b9

Support .unit(MIXED_UNIT) without .usage(...).
PR: https://github.com/icu-units/icu/pull/72
Commit: 56ac7959375b8c9363ff022185165e52490c6c00

More commits:
- Reorder numbertest_api.cpp tests for consistent order.
- NumberFormatterApiTest: fold unitPipeline() into unitCompoundMeasure()
- Add some 'template class' instantiations for MSVC.
- Make trimField handle all whitespace, improve test messages
- Drop templated 'appendAll': it requires copy constructor
- Add protected MaybeStackArray::copyFrom()
- Add TODO(icu-units#67) and commented-out test case: use kUndefinedField for now
- Provide correct output order for units like "inch-and-foot"
- MSVC: export MaybeStackVector<MeasureUnit>
- Code review feedback: dependencies.txt and doc comments
- Consistent naming for code files: units_*
2020-09-10 22:39:18 +02:00
Hugo van der Merwe
7ed2a2d233 ICU-20568 Implement Usage "Glue Code" and skeleton support. Tests.
CLDR-13488: Samples of intermediate source/data/misc/units.txt
PR: https://github.com/icu-units/icu/pull/5
Commit: 08132e7a33

Unit test improvements (the rest of PR already upstreamed).
PR: https://github.com/sffc/icu/pull/40
Commit: e92a2fcffb

Use namespace ::icu::units::impl for units-related code.
PR: https://github.com/icu-units/icu/pull/16
Commit: 57b35a8a93

Export addSingleFactorConstant in header file
PR: https://github.com/icu-units/icu/pull/17
Commit: f357b5558e

Fix MeasureUnit identifiers to be spec-compliant.
PR: https://github.com/icu-units/icu/pull/18
Commit: 69c087154b

Cleanup: IWYU headers (with some exceptions), SigNum -> Signum
PR: https://github.com/icu-units/icu/pull/19
Commit: 1c29a6bcc7

Test that addSingleFactorConstant knowns all unitConstants.
PR: https://github.com/icu-units/icu/pull/20
Commit: 6c0c3bb640

Add Unit Usage support to Number Skeletons.
PR: https://github.com/icu-units/icu/pull/33
Commit: 3cf23222ca

Fix some compiler warnings
PR: https://github.com/icu-units/icu/pull/43
Commit: be11edb0bd
2020-09-10 22:39:18 +02:00
younies
72056d4df2 ICU-20568 UnitsRouter, ComplexUnitConverter, numberformatter.h
add usage to number formatter settings header
PR: https://github.com/sffc/icu/pull/23
Commit: 6d78a95d6d

Implementation of UnitsRouter and ComplexUnitConverter.
PR: https://github.com/sffc/icu/pull/30
Commit: 1ae7190d19
2020-09-10 22:39:18 +02:00
Hugo van der Merwe
cf46b4136e ICU-20568 unitsdata.cpp/.h and associated tests
Read unitsTest.txt, prepare to run unit tests.
PR: https://github.com/sffc/icu/pull/20
Commit: 9f65f41f18

No-op/cosmetic: reformat with clang-format ident:4 line-length:105.
PR: https://github.com/sffc/icu/pull/25
Commit: 4be0a2bc55

Parse unitPreferencesTest.txt preparing to run data-driven tests
PR: https://github.com/sffc/icu/pull/26
Commit: 9e021f9b6f

Improve test output: no more fprintfs.
PR: https://github.com/sffc/icu/pull/34
Commit: 12a5289238

Update to latest CLDR test files: b7a23f3f41 CLDR-13587.
PR: https://github.com/sffc/icu/pull/33
Commit: 44e9afb321

Add unitsdata.cpp, getConversionRatesInfo, and unit tests.
PR: https://github.com/sffc/icu/pull/31
Commit: ca34233e08

Update unitsTest.txt and unitPreferencesTest.txt from current CLDR master
PR: https://github.com/sffc/icu/pull/41
Commit: be7f69941d
2020-09-10 22:39:18 +02:00
younies
adcc646e51 ICU-20568 Skeleton for Testing Units
PR: https://github.com/sffc/icu/pull/6
Commit: 9b3ca66937
2020-09-10 22:39:18 +02:00
Jeff Genovy
341608f7b6 ICU-21108 Update to use/support VS2019, and add extra CI builds for VS2017 and VS2019.
Change to use the Windows 10 SDK for Win32 (Win7) builds on the VS2019 ADO images.
The Windows 10 SDK is backwards compatible to Windows 7, if WINVER and
_WIN32_WINNT are set before compiling.

Clean up the vcxproj files from VC7.1
2020-09-02 13:01:27 -07:00
Erik Torres
ba3b6acd5c ICU-21249 BRS68RC Version update and regenerate configure for v68
BRS68RC Updating files for release
2020-08-31 19:35:14 -04:00
Shane F. Carr
0101e2632c ICU-20164 Make NoUnit a zero-cost abstraction over MeasureUnit.
See #1230
2020-08-29 00:01:49 -05:00
Shane F. Carr
2ea56b531a ICU-21182 Adding UNumberRangeFormatter (C API).
See #1193
2020-08-12 21:33:38 -05:00
Daniel Ju
73b50e6463 ICU-20979 BRS67RC Update version numbers, regenerate configure, update ICU4C README 2020-03-26 17:21:05 -07:00
Shane F. Carr
fc6612cc56 ICU-20920 Add support for CLDR 37 unit identifiers in ICU4C
See #964
2020-03-24 14:15:19 -05:00
Daniel Ju
f5b951d505 ICU-20857 Update version numbers to 66.1 2019-10-09 16:47:02 -07:00
Shane Carr
d36779df6c ICU-20796 Updating double-conversion from upstream master. 2019-09-27 13:03:30 -07:00
Daniel Ju
cfe093e945 ICU-20795 BRS65RC Update version numbers and readme files, regenerate JARs 2019-08-30 17:58:24 +02:00
Jeff Genovy
408752ec49 ICU-20782 Enable Windows desktop ARM and ARM64 builds of ICU4C.
This enables "classic" desktop builds of ICU4C for both ARM (32-bit)
and ARM64 (64-bit) on Windows.

All but the two samples "cal" and "date" in the "allinone" project now
have ARM and ARM64 project configurations, and build for Windows Desktop
ARM/ARM64.

Note: In order to build the ARM/ARM64 data DLL, you need to first build
x64/Release, as the ARM/ARM build uses the x64 bits in order to be able
to cross-compile for ARM/ARM64. This allows for completely building
ARM/ARM64 binaries using only x64 hardware.

The ARM/ARM64 builds require using a newer version of the Windows SDK
than 8.1, so they have a separate WindowsTargetPlatformVersion which
uses Windows 10 SDK version 10.0.16299.0 (aka RS3), which is the first
version of the Windows SDK to support building ARM64 desktop applications.

In addition this also greatly cleans-up the ICU4C ".vcxproj" files, in
order to remove redundant parts, fix inconsistencies, and make them more
readable. This introduces two new variables in the shared `*.props`
files: `IcuBinOutputDir` and `IcuLibOutputDir` in order to further
reduce the amount of duplicated lines in the individual ".vcxproj"
files themselves.
2019-08-26 22:50:31 -07:00
Jeff Genovy
c5ad4664f9 ICU-20768 Remove fixed DLL base addresses when building Windows DLLs.
Remove redundant FixedBaseAddress entries from the vcxproj files.
Make the pkgdata -b option a no-op, and output a message to the user.
2019-08-20 15:37:15 -07:00
Shane Carr
6daab85db4 ICU-20429 Renaming [Number->Formatted]StringBuilder and refactoring.
- StringSegment, ICU4C:
  * Moved to top icu namespace
  * Compilation unit renamed to string_segment.
- NumberStringBuilder, C and J:
  * Moved to main icu namespace
  * Compilation unit renamed to formatted_string_builder
  * Renamed class to FormattedStringBuilder
- Moves nextPosition logic of NumberStringBuilder to helper class
2019-04-05 20:08:07 -05:00
Jeff Genovy
84da7ec0fa ICU-20438 BRS64RC Update ICU4C version numbers 2019-02-22 11:26:41 -08:00
Shane Carr
249e03ccd6 ICU-13256 Implementing FormattedRelativeDateTime in C, C++, and Java.
- Adds additional logic to NumberStringBuilder.
- Extends logic of number::impl::Field type.
- Adds tests for RBNF support.
- Adds tests from ftang's original PR.
2019-02-11 11:35:51 -08:00
Shane F. Carr
1624176dd9 ICU-20138 Adding FormattedValue helper implementation for FPI handlers.
- Changes FieldPositionIterator (FPI) to use tetrads in the UVector32.
2019-02-05 22:54:13 -08:00
Shane Carr
1f85e94068 ICU-13839 Adding FormattedNumber API to PluralRules.
- Makes new dependency class for PluralRules+FormattedNumber.
2019-01-28 11:46:00 -08:00
Shane Carr
768b577e6a ICU-20138 Adding FormattedValue APIs in C, C++, and Java.
- Wires up FormattedNumber[Range] in applicable languages.
- Adds new header files and tests, with minor cleanup to old tests.
- Adds code to guarantee terminating NUL in FormattedNumber[Range].
- Cleanup of API docs for inherited methods in FormattedNumber[Range].
2019-01-10 17:02:49 -06:00
Jeff Genovy
9a5b7af83d ICU-13180 Support skiping building the UWP projects with a command line MSBuild option. 2018-11-06 16:02:03 -08:00
Jeff Genovy
c3f576710b
ICU-20119 BRS63rc Update version number for ICU4C and ICU4J. Update readme files. (#144)
BRS: Update version number for ICU 63 RC for ICU4J and ICU4C, also update readme files.
2018-09-27 14:27:41 -07:00
Jeff Genovy
c8e4c81d4e
ICU-20076 MSVC Warning clean up. Define _HAS_EXCEPTIONS=0 in ICU library code (#128)
In an effort to reduce the number of warnings that building ICU emits, we should set the following define for ICU4C library code when building using MSVC/VisualStudio: _HAS_EXCEPTIONS=0
This tells the MSVC implementation of the STL that exceptions should not be used - which is fine for ICU4C library code, as the library code does not make use of exceptions at all.
2018-09-27 14:27:41 -07:00
Shane Carr
238271f27b
ICU-11276 Initial NumberRangeFormatter implementation. Needs data loading and implementation of new methods on Modifier. 2018-09-27 14:27:40 -07:00
Shane Carr
9109a388f4
ICU-11276 Adding C++ base implementation of NumberRangeFormatter, including unit test. 2018-09-27 14:27:39 -07:00
Yoshito Umaoka
45cdda61a6
ICU-12973 CLDR Japanese Era data and tentative Japanese new era support (#111)
* Updated era data format in supplementalData.

* Include tentative era names in data. Implemented Japanese era loaded from CLDR data in ICU4J.

* ICU4C implementation, ICU4C refactoring. WIP.

* VS project updates and some bug fixes

Also added API comments.

* Review feedback and bug fixes

- NULL to nullptr
- use of LocalUResourceBundlePointer
- TYPO "name" to "named"
- env var checking stricmp() == 0

* API comment correction based on feedback

* Duplicate the comment in ucal.h to calendar.h

* Fixed spelling errors in API comment
2018-09-27 14:27:39 -07:00
Frank Tang
e6a5f0ee0a
ICU-13754 Move listformatter from common to i18n (#96) 2018-09-27 14:27:39 -07:00
Daniel Ju
b13c951348
ICU-20043 ICU-13214 ICU-13764 MSVC W3 and W4 warning cleanup (#53)
Cleaned up all of the MSVC W3 warnings and most of the W4 warnings in the common and i18n projects.
2018-09-27 14:27:38 -07:00
Jeff Genovy
f23cbfa975 ICU-13667 Update ICU4C version number for 62.1 release candidate.
X-SVN-Rev: 41463
2018-05-25 21:29:10 +00:00
Markus Scherer
d8f9a47637 ICU-13667 update/fix/improve dependencies; better layering formatting->numberparser->numberformatter->number_representation
X-SVN-Rev: 41461
2018-05-25 17:57:30 +00:00
Shane Carr
4beed11456 ICU-13722 Removing obsolete constructs FmtStackData and UCONFIG_FORMAT_FASTPATHS_49.
X-SVN-Rev: 41457
2018-05-25 00:26:00 +00:00
Shane Carr
0a0d99ebc8 ICU-13662 Improving NumberFormatter field position method names and behavior.
X-SVN-Rev: 41313
2018-05-03 01:34:19 +00:00
Shane Carr
faa2897561 ICU-13634 Changes from pre-merge code light-review.
X-SVN-Rev: 41267
2018-04-24 01:19:44 +00:00
Shane Carr
8fab60c93b ICU-13634 Syncing MSVC build files with Makefiles.
X-SVN-Rev: 41265
2018-04-23 22:48:52 +00:00
Shane Carr
888f884f3c ICU-13672 Enabling double_conversion StringToDoubleConverter and using it in DecimalQuantity's toDouble() function.
X-SVN-Rev: 41175
2018-03-30 07:12:25 +00:00
Jeff Genovy
bb915931d0 ICU-13586 No actual code changes. This change cleans up redundancies in the VS project files, and pulls in common or shared settings from a shared 'props' file. This means that you can now change one single file to target either VS2015 or VS2017, instead of needing to change many files. It also allows the VS project files to share common defines as well, meaning that if you need to target something other than Windows 7, you can make one change in one file, instead of needing to make hundreds. Also included in this change are improvements to the VS Solution files in order to properly denote the dependencies of the projects, which might be needed in the future for possible parallel project builds.
X-SVN-Rev: 41049
2018-03-02 03:20:22 +00:00
Jeff Genovy
9b21c4d010 ICU-13473 Add a new target to the VS project files called CopyUnicodeHeaderFiles, which will copy all of the project header files to the common output location. This is much cleaner and far less error prone than having each header file manually listed in the VS project file. Merge to trunk.
X-SVN-Rev: 40969
2018-02-22 02:59:34 +00:00