Commit Graph

4252 Commits

Author SHA1 Message Date
Mihai Nita
dd50e38f45 ICU-20738 Best-match pattern for 'sS' uses <appendItem> data 2020-02-10 07:59:52 -08:00
Shane Carr
9eca171a39 ICU-20954 Fix currency spacing in suffix. 2020-02-06 09:56:32 -08:00
Elango Cheran
1a9fb8ec33 ICU-13836 C++ port of adding exponent for better plurals for compact decimal format 2020-02-05 09:08:48 -08:00
Frank Tang
b7d08bc04a ICU-20958 Prevent SEGV_MAPERR in append
See #971
2020-02-03 13:22:30 -08:00
Andy Heninger
54a60fe6f4 ICU-11548 Improve regex static UnicodeSets handling
Compiled regular expression patterns make use of several shared common
UnicodeSets. This change simplifies the creation and use of these
static UnicodeSets.

- Pointer fields to the static sets are removed from the compiled patterns,
  and the static variables are accessed directly. The deleted pointers
  were a hold-over from earlier code that did not use shared statics.

- The UnicodeSet pattern literals are changed from hex constants to
  u"string literals".

- The size of fRuleSets (from regexst.h) is changed from a hard-coded 10
  to the number of UnicodeSets actually required. Doing this required
  a change to regexcst.pl to export the required size. Changing and
  rerunning this perl code resulted in massive but benign changes to
  the generated file regexcst.h, the result of perl having changed its
  order of enumeration of hashes since the file was last regenerated.

- UnicodeSets are frozen when possible. Should result in faster matching.
2020-01-30 15:13:07 -08:00
Shane Carr
8c717b514e ICU-20665 Removing number-dependence from ICU4C FormattedStringBuilder fields.
See #727
2020-01-17 11:22:02 +01:00
Frank Yung-Fong Tang
21df05234d ICU-20673 Allow built-in translit ID w/o data.
See #958
2020-01-16 21:28:01 -08:00
Shane Carr
fe98d870b2 ICU-20418 Adding concise number skeletons in ICU4C 2020-01-14 11:52:27 +01:00
Shane Carr
b24538eb05 ICU-20921 Adding find and compare to StringPiece 2020-01-14 11:52:27 +01:00
Caio Lima
09d409f5f4 ICU-20442 Adding support for hour-cycle on DateTimePatternGenerator
DateTimePatternGenerator needs to consider the hour-cycle preferred by
Locale. This means that we need to to override the hour-cycle when a
locale contains "hc" keyword. This patch is adding such functionality.
In addition, "DateTimePatternGenerator::adjustFieldTypes" should adjust
hour field to properly follow tr35
spec(https://www.unicode.org/reports/tr35/tr35-dates.html#dfst-hour).
2020-01-09 16:45:56 +01:00
Frank Tang
11ad8d69fb ICU-20934 Fix TZ test error
Somehow these tests are now fail on trunks.
Per https://mm.icann.org/pipermail/tz-announce/2019-July/000056.html
     Brazil has canceled DST and will stay on standard time indefinitely.
2020-01-03 20:52:11 -08:00
Frank Tang
4a8483be91 ICU-20900 Fix createCanonical
See #922
2020-01-03 15:00:04 -08:00
Frank Tang
79fac50101 ICU-20310 omit "-true" in toLanguageTag
See #952
2019-12-30 15:39:59 -08:00
Shane Carr
46ec4fd523 ICU-12863 Add list style APIs to C and C++
See #894
2019-12-17 13:07:36 -08:00
Andy Heninger
faa2f9f9e1 ICU-20303 Break Iterator, improve handling of look-ahead rules.
- Merge the look-ahead results slots used when multiple rules share a common accepting state.
- Sequentially number the look-ahead result slot. Will eventually allow replacing the runtime map with an array.
- Inhibit chaining out of look-ahead rules. This could never actually happen; when a hard break
  rule matches, the engine is stopped immediately, but the state table was being constructed
  as if it could  happen. Reduces table size for line break rules.
- Remove incorrect handling of fAccepting and fLookAhead fields of a state table row
  when removing duplicate states. Look-ahead slot number was being mis-interpreted as a state number.
2019-12-13 13:17:21 -08:00
Frank Tang
923ec1ad30 ICU-20436 Add getDefaultHourCycle to DateTimePatternGenerator
See #901
2019-12-12 00:13:37 -08:00
Shane F. Carr
39eb0f4fbf
ICU-20919 Merge maint/maint-66 (release-66-preview) to master 2019-12-11 15:25:36 -08:00
Caio Lima
7c147e4e85 ICU-20741 Changing SimpleDateTimeFormat::subFormat to only include 1 field at the same position when there is a data fallback 2019-12-10 21:53:47 -08:00
Caio Lima
873e2db780 ICU-20741 Adding tests for C/C++ API into DateFormatTests 2019-11-22 15:43:27 -08:00
Markus Scherer
a7e378d587 ICU-20893 Unicode 13 beta
See PR #915, see changes.txt
- Unicode 13 beta data as of 2019-nov-21
- uprops.icu format version 7.7 with more bits for Script/Script_Extensions
- more bits in spoof checker ScriptSet
- root line break rules adjusted for UAX 14 changes, from Andy
- line break tailorings not yet in sync with root
2019-11-21 17:35:53 -08:00
Peter Edberg
ceb84b5dde ICU-20844 remove restriction on minInt=minFrac=0, ensure doFastFormatInt32
and NumberFormatterImpl::writeNumber produce at least 1 result digit (#917)
2019-11-13 16:15:02 -08:00
Mihai Nita
17d23d71c0 ICU-20739 Force seconds if the skeleton has fractional seconds 2019-11-08 16:03:40 -08:00
Shane Carr
00946cef43 ICU-20709 Moving rounder call before number properties.
- Changes EXCEPT_ZERO notation to hide sign on numbers that round to zero.
- Adds additional tests for this behavior.
2019-11-05 14:43:34 -08:00
Shane Carr
369e67221c ICU-20709 Adding fourth signum type. Converting Java to use enum. 2019-11-05 14:43:34 -08:00
Frank Tang
84f6735fde ICU-20478 Sort variant in (for|to)LanguageTag of icu::Locale and ULocale
See #836
2019-10-28 14:57:10 -07:00
Andy Heninger
03937347fb ICU-20863 Regex, lazy creation and reduced size of map from capture group names to numbers. 2019-10-22 17:23:26 -07:00
Frank Tang
596647c0c3 ICU-20862 Fix setKeywordValue U_BUFFER_OVERFLOW_ERROR bug.
See #885
2019-10-18 10:54:56 -07:00
Craig Cornelius
2baf0a75b0 ICU-20728 Improve debug output for old C++ RBBI monkey test
See #730
2019-10-10 13:26:03 -07:00
Elango Cheran
2b32778611 ICU-13734 Adding tests for DecimalFormat strict mode handling of flexible whitespace 2019-10-09 17:52:40 -07:00
Frank Tang
1ab75afc5f ICU-20706 Fix DateInterval::createInstance w/ test
See #876
2019-10-09 16:13:47 -07:00
Shane F. Carr
f744742e03
ICU-20851 Merge release-65-1 to master. 2019-10-04 16:05:55 -04:00
Shane F. Carr
051d6a553e ICU-20453 Add more warning types to CI build.
See #824
2019-10-02 13:00:14 -04:00
Elango Cheran
3b99d07581 ICU-13735 Adding tests for DecimalFormat grouping getters 2019-09-27 11:05:32 -07:00
Fredrik Roubert
e5529933b2 ICU-20819 Correct placement of parentheses in preprocessor macro.
The purpose of the FIELD_NAME_STR() macro is to create a string literal
by using the # preprocessing operator and then skip the first 5 chars of
this string by using the +5 pointer arithmetic. This is all intentional,
but if the parentheses are misplaced the compiler might think that this
is a mistake, a failed string concatenation (-Wstring-plus-int).
2019-09-25 08:06:29 -07:00
Peter Edberg
c98e90c670 ICU-20396 add RelativeDateTimeFormatter test for af 2019-09-11 17:32:06 -07:00
Peter Edberg
e25796f6e5 ICU-20801 integrate CLDR release-36-alpha2, update MeasureUnits (#809) 2019-09-06 14:07:36 -07:00
gnrunge
66b8b4c8ce ICU-20795 BRS test without data task: Adds a status check after PluralRules
instance creation. Test causes segmentation fault later if instance creation
fails.
2019-09-06 11:32:48 -07:00
gnrunge
5e3f472c67 ICU-20795 BRS test without data task: Adds a status check after Locale instance
creation. Test causes segmentation fault if it tries to continue beyond failed
instance creation.
segmentation fault if instance creation fails
2019-09-06 09:43:30 -07:00
Steven R. Loomis
ddadc9427b ICU-13745 fix undefined behavior: GregorianCalendar::setGregorianChange()
- Julian days outside of INT32_MIN..INT32_MAX are normalized
- Add a test case
2019-09-04 23:20:31 +02: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
Victor Chang
6ff43608d2 ICU-20589 Fix EraRulesTest#testAPIs failure on 1 May 2019 2019-08-30 17:21:25 -04:00
Peter Edberg
f46b567ba3 ICU-20701 Add more PluralRules tests for locales with keywords 2019-08-30 10:06:21 -07:00
Frank Tang
eeb759063b ICU-20799 delete calendarToAdopt upon error
ICU-20799 add unit tests

ICU-20799 initialize error and add comments.
2019-08-29 15:49:37 -07: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
Markus Scherer
d3315d98ef ICU-20783 use C++ covariant return types 2019-08-23 11:45:36 -07:00
Markus Scherer
f02b496494 ICU-20783 C++ covariant return types: clone(), freeze() & friends 2019-08-22 16:24:41 -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
Andy Heninger
327087150f ICU-20618 Regex nested lookaround expressions, clean up active match region handling. 2019-08-19 13:31:34 -07:00
Andy Heninger
5f837abd40 ICU-13533 Fix address sanitizer failures found with no-data ICU testing. 2019-08-19 13:29:32 -07:00
Markus Scherer
41c24b6c00 ICU-9695 port LocaleMatcher to C++ 2019-08-19 10:41:35 -07:00