Commit graph

54 commits

Author SHA1 Message Date
Younies Mahmoud
35c9778781 ICU-22781 Support Arbitrary Constant Unit Formatting
See #3381
2025-02-12 01:45:16 +01:00
DraganBesevic
d04154833c ICU-22723 Integrate CLDR 46 release alpha0, part 3, source files 2024-08-14 17:09:35 -07:00
Frank Tang
575bb781cf ICU-22831 Fix memLeak in number_longnames.cpp by using LocalPointer
Maybe fix issues in ICU-22800
2024-08-05 19:28:34 -07:00
Fredrik Roubert
ade671e252 ICU-22621 Clang-Tidy: readability-static-definition-in-anonymous-namespace
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/static-definition-in-anonymous-namespace.html
2024-03-19 15:55:56 +01:00
Fredrik Roubert
a3cbe80909 ICU-21833 Replace U_OVERRIDE with override everywhere. 2023-02-22 18:28:07 +01:00
Fredrik Roubert
2de88f9d9c ICU-21833 Replace UChar with char16_t in all C++ code. 2023-02-06 19:27:44 +01:00
Fredrik Roubert
2e0d30cfcf ICU-21833 Replace NULL with nullptr in all C++ code. 2023-02-03 20:20:38 +01:00
gnrunge
baa104b50b ICU-21957 Clean-up of TODO and logKnownIssue entries (BRS task):
Removed logKnownIssue(ICU-21322) in plurults.cpp, ICU-21322 is done and the
entire if-statement was commented out.

Replaced CLDR-13700 with CLDR-13701 in several TODOs. 13700 is a duplicate of
13701.

Likewise for CLDR-14502 --> CLDR-14582.

PR#1999 from ICU 71 release missed some of the cases.
2022-09-02 09:54:57 -07:00
Younies
f30956fc9c ICU-21840 Fix formatting Aliases
See #2016
2022-03-15 23:27:43 +01:00
Peter Edberg
e69f337f3c ICU-21669 UPRV_UNREACHABLE > UPRV_UNREACHABLE_EXIT/ASSERT, update usages 2021-09-14 15:22:52 -07:00
Rich Gillam
c37ca411fc ICU-13353 Fixed several problems preventing horizontal resource inheritance from working as intended, and added a
Java version of a unit test I'd previously only added on the C++ side.
2021-09-10 12:47:15 -07:00
Frank Tang
78c3e1ed6d ICU-21562 Add include to fix std:abs build problem 2021-03-30 21:33:22 -07:00
Hugo van der Merwe
54b896962b ICU-21123 Calculate built-in units' gender when CLDR lacks the data
See #1620
2021-03-10 20:09:51 +01:00
Hugo van der Merwe
119dfa4f24 ICU-21123 Support FormattedNumber::getGender() for "short" and "narrow" formatting too
See #1617
2021-03-05 00:32:30 +01:00
Hugo van der Merwe
56fb139fc0 ICU-20941 Port Arbitrary Units support from ICU4C to ICU4J
See #1597
2021-03-02 20:34:19 +01:00
Hugo van der Merwe
8b48e1862c ICU-20941 Fix uninitialized values: DerivedComponents' compound0_ and compound1_ 2021-02-24 21:15:50 -08:00
Hugo van der Merwe
aebe91cdda ICU-20941 Fix ResourceTable lifetime to make ResourceTracer happy
This is a separate commit from the previous ICU-20941 commit for the
sake of documentation / future code archaeology.

See #1588
2021-02-24 09:27:39 +01:00
Hugo van der Merwe
b2d97ebcb4 ICU-20941 NumberFormatter: format arbitrary compound units, with inflections
See #1588.
2021-02-24 09:27:39 +01:00
Hugo van der Merwe
1dbe70ac18 ICU-21123 Support unit inflections in ICU4C
See #1574
2021-02-17 23:36:40 +01:00
Hugo van der Merwe
84469100c5 ICU-21306 ldml2icu: add rules for Inflections-related CLDR data
See #1566
2021-02-10 01:08:50 +01:00
younies
b594f4b2a9 ICU-21349 Enhance Supporting Mixed Unit (such as "inch-and-foot")
See #1363
2021-01-20 17:50:36 +01:00
younies
c07264a363 ICU-21349 Make appendSingleUnit behaviour in C++ comply with Java
See #1486
2020-12-01 01:42:17 +04:00
Hugo van der Merwe
710fa5aaf9 ICU-20941 Support formatting joule-per-furlong (builtin-per-builtin).
See #1409
2020-11-04 18:07:09 +01:00
Hugo van der Merwe
a84fdd0e90 ICU-21266 Support toSkeleton() for all functional Unit Formatters
See #1347
2020-10-01 02:51:27 +02:00
Hugo van der Merwe
9cb611d09f ICU-20568 Improve negative measure handling for mixed units
See #1379
2020-10-01 00:12:09 +02:00
Hugo van der Merwe
e3bb5e5f07 ICU-20568 Add .unit().usage() support to ICU4J NumberFormatter (2/2)
* Throw UnsupportedOperationException for "unsanctioned units"
* Deal with the parent issue for LongNameMultiplexer
* Fix NullPointerException: UnitConversionHandler.processQuantity must
  call fParent.processQuantity
* toSkeleton not supported for not-built-in units
* Add and use interface
  LongNameMultiplexer.ParentlessMicroPropsGenerator
* Match up C++ and Java unit tests in NumberFormatterApiTest.java
* Permit user-override of precision() for usage(), closes icu-units#95
* Use BogusRounder to propagate mathContext.
* Port C++ change from PR #1322, commit c84ded050a, to Java.
* Test the usage-without-unit error. Document it in
  NumberFormatterSettings.java
* General review and corrections.
2020-09-19 01:31:08 +02:00
Shane F. Carr
5a35a31e9a ICU-21021 Changing MeasureUnit::splitToSingleUnits to return std::pair 2020-09-15 20:53:51 -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
Frank Tang
f0ada59042 ICU-20949 Fix compound unit in "ar", "ne" locales
Do not assume the "one" pattern always contains "{0}"
2020-04-22 10:39:01 -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
Shane Carr
8c717b514e ICU-20665 Removing number-dependence from ICU4C FormattedStringBuilder fields.
See #727
2020-01-17 11:22:02 +01:00
Shane Carr
369e67221c ICU-20709 Adding fourth signum type. Converting Java to use enum. 2019-11-05 14:43:34 -08:00
Peter Edberg
0801dd0bdd ICU-20577 Restore C MeasureFormat ability to adopt non-decimal number formatter (#789) 2019-08-30 15:53:05 -07:00
Markus Scherer
7237fc58b4 ICU-12086 ICU-12165 Currency.getName() param isChoiceFormat can be null, make it so, document, use null in library code 2019-08-30 14:47:19 -07:00
Shane Carr
1ef18dc761 ICU-20708 Fixing edge cases with negative infinity and NaN. 2019-07-23 15:03:49 -07:00
Shane Carr
2e846616c4 ICU-20499 Fixing code path for plural form in MutablePatternModifier. 2019-03-14 02:02:52 -07:00
Shane Carr
c81d1e94a0 ICU-13591 Refactoring ICU4C MeasureFormat to call NumberFormatter directly.
- Removes redundant data loading in MeasureFormat
2019-02-20 19:15:03 -06:00
Shane F. Carr
c70a9db818 ICU-20332 Adding duration-person unit data and APIs to C and J.
- Rebuilds ICU4J data jars.
- Includes a workaround in data loading to be fixed with ICU-20400.
2019-02-08 16:55:20 -08:00
Shane Carr
74bbf9e381 ICU-13267 Implementing MEASURE_UNIT field.
Adds plumbing to trim whitespace near the FormattedNumber API boundary.
That plumbing requires a change to dependencies.txt.
2018-11-15 21:37:32 -07:00
Shane Carr
0d4c8dad1f
ICU-11276 ModifierStore wired up in LongNameHandler (C++). 2018-09-27 14:27:40 -07:00
Shane Carr
18431084c2
ICU-11276 Plural ranges loaded from data; first implementations of ModifierStore. 2018-09-27 14:27:40 -07: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
e27cf9ce39 ICU-13677 Changing NumberFormatter rounding setting to precision and roundingMode.
X-SVN-Rev: 41330
2018-05-05 06:32:29 +00:00
Shane Carr
607a60bc3b ICU-13393 Removing the UPRV_INCOMPLETE_CPP11_SUPPORT flag since the number formatting code is no longer isolated from the rest of ICU.
X-SVN-Rev: 41266
2018-04-23 23:02:26 +00:00
Shane Carr
0344ea5118 ICU-13525 Fixing NumberFormatter behavior when unit pattern does not contain an argument.
X-SVN-Rev: 40770
2018-01-10 02:44:23 +00:00
Shane Carr
4d10bf03f5 ICU-13520 Adds compound unit support to NumberFormatter.
X-SVN-Rev: 40747
2017-12-22 00:02:01 +00:00
Shane Carr
1ec3a8c6bb ICU-13411 Making "using namespace" statements consistent across number formatting cpp files.
X-SVN-Rev: 40630
2017-10-25 00:25:04 +00:00
Shane Carr
25fed96c72 ICU-13093 Disabling number formatting code on AIX and z/OS due to C++11 compatibility issues.
X-SVN-Rev: 40560
2017-10-05 00:47:38 +00:00
Norbert Runge
b536a39a74 ICU-13384 Adds #include unicode/utypes.h
X-SVN-Rev: 40557
2017-10-04 22:51:06 +00:00