]> granicus.if.org Git - icu/commit
ICU-20568 Support smart units / unit contexts / preferences
authorHugo van der Merwe <17109322+hugovdm@users.noreply.github.com>
Tue, 11 Aug 2020 15:54:10 +0000 (17:54 +0200)
committerHugo van der Merwe <17109322+hugovdm@users.noreply.github.com>
Thu, 10 Sep 2020 20:39:18 +0000 (22:39 +0200)
commite3123c83a4cdb73458e38f864bda5d5409308e8d
treecd8b7438f1a4f23458700231855fd25b9b110cf0
parent1b853904cdf1ec66fb91a2c57a4f17b53f4e6036
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: d5d7fdccfef887bb1af180bba3e2a0286dc32135

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

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

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

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

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_*
43 files changed:
icu4c/source/common/cmemory.h
icu4c/source/i18n/formatted_string_builder.h
icu4c/source/i18n/i18n.vcxproj
icu4c/source/i18n/i18n.vcxproj.filters
icu4c/source/i18n/i18n_uwp.vcxproj
icu4c/source/i18n/number_fluent.cpp
icu4c/source/i18n/number_formatimpl.cpp
icu4c/source/i18n/number_formatimpl.h
icu4c/source/i18n/number_integerwidth.cpp
icu4c/source/i18n/number_longnames.cpp
icu4c/source/i18n/number_longnames.h
icu4c/source/i18n/number_mapper.cpp
icu4c/source/i18n/number_microprops.h
icu4c/source/i18n/number_rounding.cpp
icu4c/source/i18n/number_roundingutils.h
icu4c/source/i18n/number_skeletons.cpp
icu4c/source/i18n/number_skeletons.h
icu4c/source/i18n/number_symbolswrapper.cpp [new file with mode: 0644]
icu4c/source/i18n/number_types.h
icu4c/source/i18n/number_usageprefs.cpp
icu4c/source/i18n/number_usageprefs.h
icu4c/source/i18n/sources.txt
icu4c/source/i18n/unicode/numberformatter.h
icu4c/source/i18n/units_complexconverter.cpp [moved from icu4c/source/i18n/complexunitsconverter.cpp with 73% similarity]
icu4c/source/i18n/units_complexconverter.h [moved from icu4c/source/i18n/complexunitsconverter.h with 64% similarity]
icu4c/source/i18n/units_converter.cpp [moved from icu4c/source/i18n/unitconverter.cpp with 98% similarity]
icu4c/source/i18n/units_converter.h [moved from icu4c/source/i18n/unitconverter.h with 96% similarity]
icu4c/source/i18n/units_data.cpp [moved from icu4c/source/i18n/unitsdata.cpp with 98% similarity]
icu4c/source/i18n/units_data.h [moved from icu4c/source/i18n/unitsdata.h with 78% similarity]
icu4c/source/i18n/units_router.cpp [moved from icu4c/source/i18n/unitsrouter.cpp with 87% similarity]
icu4c/source/i18n/units_router.h [moved from icu4c/source/i18n/unitsrouter.h with 70% similarity]
icu4c/source/test/depstest/dependencies.txt
icu4c/source/test/intltest/Makefile.in
icu4c/source/test/intltest/intltest.vcxproj
icu4c/source/test/intltest/intltest.vcxproj.filters
icu4c/source/test/intltest/measfmttest.cpp
icu4c/source/test/intltest/numbertest.h
icu4c/source/test/intltest/numbertest_api.cpp
icu4c/source/test/intltest/units_data_test.cpp [moved from icu4c/source/test/intltest/unitsdatatest.cpp with 99% similarity]
icu4c/source/test/intltest/units_router_test.cpp [moved from icu4c/source/test/intltest/unitsroutertest.cpp with 97% similarity]
icu4c/source/test/intltest/units_test.cpp [moved from icu4c/source/test/intltest/unitstest.cpp with 79% similarity]
icu4c/source/test/testdata/units/unitPreferencesTest.txt [deleted file]
icu4c/source/test/testdata/units/unitsTest.txt [deleted file]