]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/test/testdata/numberformattestspecification.txt
ICU-66108.tar.gz
[apple/icu.git] / icuSources / test / testdata / numberformattestspecification.txt
index b48cc6c3eee08e8d24e7ca5415d0c73494c28a66..aa4fa3c3f7ab666fcca9f6c3567b13cc88efc853 100644 (file)
@@ -10,7 +10,6 @@
 // per line.
 //
 // Field names:
-//  H = ICU4J 58 (archive)
 //  J = ICU4J (current)
 //  K = JDK (ignored if not OpenJDK 1.8)
 //  C = ICU4C (current)
@@ -25,7 +24,7 @@ set locale ar-EG
 set pattern +0;-#
 begin
 format output  breaks
-6      \u061C+\u0666   HK
+6      \u061C+\u0666   K
 -6     \u061C-\u0666   K
 
 test basic patterns
@@ -188,7 +187,7 @@ pattern     format  output  breaks
 // JDK gives 12,3001E3
 ##0.000#E0     12300.1 12,30E3 K
 ##0.000#E0     12301   12,301E3
-0.05E0 12301.2 1,25E4  HK
+0.05E0 12301.2 1,25E4  K
 ##0.000#E0     0.17    170,0E-3
 // JDK doesn't support significant digits in exponents
 @@@E0  6.235   6,24E0  K
@@ -270,17 +269,16 @@ $**####,##0       1234    $***1\u202f234  K
 ####,##0$*x;n#'*'      -1234   n1\u202f234*xx  K
 *y%4.2######   4.33    yyyy%432,6      K
 // In J ICU adds padding as if 'EUR' is only 2 chars (2 * 0xa4)
-\u00a4\u00a4 **####0.00        433.0   EUR *433,00     HK
-// In H ICU adds padding as if 'EUR' is only 2 chars (2 * 0xa4)
+\u00a4\u00a4 **####0.00        433.0   EUR *433,00     K
 // P fails this one because the test code bypasses CurrencyUsage
-\u00a4\u00a4 **#######0        433.0   EUR *433,00     HKP
+\u00a4\u00a4 **#######0        433.0   EUR *433,00     KP
 
 test padding and currencies
 begin
 locale currency        pattern format  output  breaks
 // In J, JPY is considered 2 char (2 * 0xa4) even though padding is done
 // after prefix. In C this test works.
-fr     JPY     \u00a4\u00a4 **#######0 433.22  JPY ****433     HK
+fr     JPY     \u00a4\u00a4 **#######0 433.22  JPY ****433     K
 // JDK doesn't correct rounding for currency, shows USD (433
 en     USD     \u00a4\u00a4 **#######0;\u00a4\u00a4 (#)        -433.22 USD (433.22)    K
 
@@ -310,9 +308,7 @@ set pattern #,##0
 set minGroupingDigits 2
 begin
 format output  breaks
-// min grouping digits not supported in any existing implementation
-// but could be easily added to the new DecimalFormat C code.
-1000   1000    HK
+1000   1000    K
 10000  10,000
 100000 100,000
 1000000        1,000,000
@@ -351,7 +347,7 @@ minIntegerDigits    maxIntegerDigits        minFractionDigits       maxFractionDigits       output  bre
 // JDK gives E0 instead of allowing for unlimited precision
 0      0       0       0       2.99792458E8    K
 // J gives 2.9979E8
-0      1       0       5       2.99792E8       HK
+0      1       0       5       2.99792E8       K
 // JDK gives 300E6     
 0      3       0       0       299.792458E6    K
 // JDK gives 299.8E6 (maybe maxInt + maxFrac instead of minInt + maxFrac)?
@@ -368,7 +364,7 @@ minIntegerDigits    maxIntegerDigits        minFractionDigits       maxFractionDigits       output  bre
 // JDK gives E0
 0      0       1       0       2.99792458E8    K
 // J gives 2.998E8
-0      0       0       4       .29979E9        HK
+0      0       0       4       .29979E9        K
 // According to the spec, if maxInt>minInt and minInt>1, then set
 // Context: #13289
 2      8       1       6       2.9979246E8     K
@@ -423,7 +419,7 @@ begin
 format maxIntegerDigits        output  breaks
 123    1       3       
 // C obeys maxIntegerDigits and prints after the decimal place
-0      0       .0      HKP
+0      0       .0      KP
 // CJP ignore max integer if it is less than zero and prints "123"
 123    -2147483648     0       CJP
 12345  1       5       
@@ -516,7 +512,7 @@ begin
 output grouping        grouping2       minGroupingDigits       breaks
 1,23,45,6789   4       2       2       K
 123,456789     6       6       3
-123456789      6       6       4       HK
+123456789      6       6       4       K
 
 test multiplier setters
 set locale en_US
@@ -524,10 +520,10 @@ begin
 format multiplier      output  breaks
 23     -12     -276
 23     -1      -23
-// H (ICU4J 58) and J (current ICU4J) throw exception on zero multiplier.
+// J (current ICU4J) throws exception on zero multiplier.
 // ICU4C prints 23.
 // Q multiplies by zero and prints 0.
-23     0       0       CHJ
+23     0       0       CJ
 23     1       23
 23     12      276
 -23    12      -276
@@ -599,12 +595,12 @@ begin
 currency       currencyUsage   toPattern       breaks
 // These work in J, but it prepends an extra hash sign to the pattern.
 // K does not support this feature.
-USD    standard        0.00    HK
-CHF    standard        0.00    HK
-CZK    standard        0.00    HK
-USD    cash    0.00    HK
-CHF    cash    0.05    HK
-CZK    cash    0       HK
+USD    standard        0.00    K
+CHF    standard        0.00    K
+CZK    standard        0.00    K
+USD    cash    0.00    K
+CHF    cash    0.05    K
+CZK    cash    0       K
 
 test currency rounding
 set locale en
@@ -688,7 +684,7 @@ Inf [\u221e]
 -Inf   (\u221e)        K
 // J does not print the affixes
 // K prints \uFFFD
-NaN    [NaN]   HK
+NaN    [NaN]   K
 
 test nan and infinity with multiplication
 set locale en
@@ -711,10 +707,10 @@ Inf       beforeSuffix    $$$\u221e   $   K
 Inf    afterSuffix     $$$\u221e$      K
 // J does not print the affixes
 // K prints \uFFFD
-NaN    beforePrefix     $$$NaN$        HK
-NaN    afterPrefix     $$$ NaN$        HK
-NaN    beforeSuffix    $$$NaN $        HK
-NaN    afterSuffix     $$$NaN$         HK
+NaN    beforePrefix     $$$NaN$        K
+NaN    afterPrefix     $$$ NaN$        K
+NaN    beforeSuffix    $$$NaN $        K
+NaN    afterSuffix     $$$NaN$         K
 
 test apply formerly localized patterns
 begin
@@ -742,8 +738,7 @@ begin
 pattern        toPattern       breaks
 // All of the C and S failures in this section are because of functionally equivalent patterns
 // JDK doesn't support any patterns with padding or both negative prefix and suffix
-// Breaks ICU4J See ticket 11671
-**0,000        **0,000 HK
+**0,000        **0,000 K
 **##0,000      **##0,000       K
 **###0,000     **###0,000      K
 **####0,000    **#,##0,000     CJKP
@@ -783,25 +778,24 @@ parse     output  breaks
 +5347,,,       5347
 +5347,,,d8     5347
 (5,347.25)     -5347.25
-// H requires prefix and suffix for lenient parsing, but C doesn't
-5,347.25       5347.25 HK
-(5,347.25      -5347.25        H
+5,347.25       5347.25 K
+(5,347.25      -5347.25
 // S is successful at parsing this as -5347.25 in lenient mode
--5,347.25      -5347.25        HK
+-5,347.25      -5347.25        K
 +3.52E4        35200
 (34.8E-3)      -0.0348
 // JDK stops parsing at the spaces. JDK doesn't see space as a grouping separator
 (34  25E-1)    -342.5  K
 (34,,25E-1)    -342.5
 // Trailing grouping separators are not OK.
-// H fails; C/J/P stop at the offending separator.
+// C/J/P stop at the offending separator.
 (34,,25,E-1)   fail    CJKP
-(34,,25,E-1)   -3425   HK
-(34  25 E-1)   -342.5  HK
-(34,,25 E-1)   -342.5  HK
+(34,,25,E-1)   -3425   K
+(34  25 E-1)   -342.5  K
+(34,,25 E-1)   -342.5  K
 // Spaces are not allowed after exponent symbol
-// C parses up to the E but H bails
-(34  25E -1)   -3425   HK
+// C parses up to the E
+(34  25E -1)   -3425   K
 +3.52EE4       3.52
 +1,234,567.8901        1234567.8901
 +1,23,4567.8901        1234567.8901
@@ -818,29 +812,21 @@ parse     output  breaks
 +  79  79      K
 +,79,,20,33    792033
 +7920d3        7920
-// Whitespace immediately after prefix doesn't count as digit separator
-// in C but is does in H
-+ ,79,,20,33   792033  HK
+// Whitespace immediately after prefix doesn't count as digit separator in C
++ ,79,,20,33   792033  K
 (  19 45)      -1945   K
 // C allows trailing separators when there is a prefix and suffix.
-// H allows trailing separators only when there is just a prefix.
-// In this case, H just bails
-(  19 45 )     -1945   HK
+(  19 45 )     -1945   K
 (,,19,45)      -1945
-// C parses to the space, but H bails
-(,,19 45)      -19     H
-// H bails b/c comma different separator than space. C doesn't treat leading spaces
-// as a separator.
-(  19,45)      -1945   HK
-// H bails. Doesn't allow trailing separators when there is prefix and suffix.
-(,,19,45,)     -1945   H
-// H bails on next 4 because H doesn't allow letters inside prefix and suffix.
+// C parses to the spaces
+(,,19 45)      -19
+(  19,45)      -1945   K
+(,,19,45,)     -1945
 // C will parse up to the letter.
-(,,19,45,d1)   -1945   H
-(,,19,45d1)    -1945   H
-(  19 45 d1)   -1945   HK
-(  19 45d1)    -1945   HK
-// H does allow trailing separator before a decimal point
+(,,19,45,d1)   -1945
+(,,19,45d1)    -1945
+(  19 45 d1)   -1945   K
+(  19 45d1)    -1945   K
 (19,45,.25)    -1945.25
 // 2nd decimal points are ignored
 +4.12.926      4.12
@@ -851,18 +837,16 @@ set pattern #,##0.0###+;#-
 begin
 parse  output  breaks
 // J and K just bail.
-3426   3426    HK
+3426   3426    K
 3426+  3426
 // J bails; K sees -34
-34 d1+ 34      HK
+34 d1+ 34      K
 // JDK sees this as -1234 for some reason
-// H bails b/c of trailing separators
-1,234,,,+      1234    HK
+1,234,,,+      1234    K
 1,234- -1234
-// H, C, and P bail because of trailing separators
-1,234,-        -1234   CHJP
-// J bails here too
-1234  -        -1234   H
+// C and P bail because of trailing separators
+1,234,-        -1234   CJP
+1234  -        -1234
 
 
 
@@ -888,8 +872,7 @@ parse       output  breaks
 (3425E-1)      -342.5
 // Strict doesn't allow separators in sci notation.
 (63,425)       -63425
-// H does not allow grouping separators in scientific notation.
-(63,425E-1)    -6342.5 H
+(63,425E-1)    -6342.5
 // Both prefix and suffix needed for strict.
 // JDK accepts this and parses as -342.5
 (3425E-1       fail    K
@@ -913,8 +896,7 @@ parse       output  breaks
 +1,234.5       1234.5
 // Comma after decimal means parse to a comma
 +1,23,456.78,9 123456.78
-// H fails upon seeing the second decimal point
-+1,23,456.78.9 123456.78       H
++1,23,456.78.9 123456.78
 +79    79
 +79    79
 + 79   fail
@@ -952,8 +934,7 @@ set parseIntegerOnly 1
 begin
 parse  output  breaks
 35     35
-// S accepts leading plus signs
-+35    35      HK
++35    35      K
 -35    -35
 2.63   2
 -39.99 -39
@@ -967,8 +948,8 @@ parseNoExponent     parse   output  breaks
 0      5e2     500     K
 0      5.3E2   530
 // See ticket 11725
-1      5e2     5       H
-1      5.3E2   5.3     HK
+1      5e2     5
+1      5.3E2   5.3     K
 
 test parse currency fail
 set pattern 0
@@ -1006,8 +987,8 @@ begin
 parse  output  breaks
 // A non-greedy parse is required to pass these cases.
 // All of the implementations being tested are greedy.
-6549K  654     CHJKP
-6549N  -654    CHJKP
+6549K  654     CJKP
+6549N  -654    CJKP
 
 test really strange prefix
 set locale en
@@ -1076,41 +1057,41 @@ parse   output  outputCurrency  breaks
 $53.45 53.45   USD     C
 53.45 USD      53.45   USD
 53.45 GBP      53.45   GBP
-USD 53.45      53.45   USD     H
-53.45USD       53.45   USD     H
+USD 53.45      53.45   USD
+53.45USD       53.45   USD
 USD53.45       53.45   USD
 (7.92) USD     -7.92   USD
 (7.92) GBP     -7.92   GBP
 (7.926) USD    -7.926  USD
-(7.926 USD)    -7.926  USD     H
-(USD 7.926)    -7.926  USD     H
-USD (7.926)    -7.926  USD     H
-USD (7.92)     -7.92   USD     H
-(7.92)USD      -7.92   USD     H
-USD(7.92)      -7.92   USD     H
+(7.926 USD)    -7.926  USD
+(USD 7.926)    -7.926  USD
+USD (7.926)    -7.926  USD
+USD (7.92)     -7.92   USD
+(7.92)USD      -7.92   USD
+USD(7.92)      -7.92   USD
 (8) USD        -8      USD
 -8 USD -8      USD
 67 USD 67      USD
-53.45$ 53.45   USD     CH
-US Dollars 53.45       53.45   USD     H
+53.45$ 53.45   USD     C
+US Dollars 53.45       53.45   USD
 53.45 US Dollars       53.45   USD
-US Dollar 53.45        53.45   USD     H
+US Dollar 53.45        53.45   USD
 53.45 US Dollar        53.45   USD
 US Dollars53.45        53.45   USD
-53.45US Dollars        53.45   USD     H
+53.45US Dollars        53.45   USD
 US Dollar53.45 53.45   USD
 US Dollat53.45 fail    USD
-53.45US Dollar 53.45   USD     H
-US Dollars (53.45)     -53.45  USD     H
+53.45US Dollar 53.45   USD
+US Dollars (53.45)     -53.45  USD
 (53.45) US Dollars     -53.45  USD
 (53.45) Euros  -53.45  EUR
-US Dollar (53.45)      -53.45  USD     H
+US Dollar (53.45)      -53.45  USD
 (53.45) US Dollar      -53.45  USD
-US Dollars(53.45)      -53.45  USD     H
-(53.45)US Dollars      -53.45  USD     H
-US Dollar(53.45)       -53.45  USD     H
+US Dollars(53.45)      -53.45  USD
+(53.45)US Dollars      -53.45  USD
+US Dollar(53.45)       -53.45  USD
 US Dollat(53.45)       fail    USD
-(53.45)US Dollar       -53.45  USD     H
+(53.45)US Dollar       -53.45  USD
 
 
 test parse currency ISO negative
@@ -1123,27 +1104,27 @@ parse   output  outputCurrency  breaks
 $53.45 53.45   USD     C
 53.45 USD      53.45   USD
 53.45 GBP      53.45   GBP
-USD 53.45      53.45   USD     H
-53.45USD       53.45   USD     H
+USD 53.45      53.45   USD
+53.45USD       53.45   USD
 USD53.45       53.45   USD
 -7.92 USD      -7.92   USD
 -7.92 GBP      -7.92   GBP
 -7.926 USD     -7.926  USD
-USD -7.926     -7.926  USD     H
--7.92USD       -7.92   USD     H
-USD-7.92       -7.92   USD     H
+USD -7.926     -7.926  USD
+-7.92USD       -7.92   USD
+USD-7.92       -7.92   USD
 -8 USD -8      USD
 67 USD 67      USD
-53.45$ 53.45   USD     CH
-US Dollars 53.45       53.45   USD     H
+53.45$ 53.45   USD     C
+US Dollars 53.45       53.45   USD
 53.45 US Dollars       53.45   USD
-US Dollar 53.45        53.45   USD     H
+US Dollar 53.45        53.45   USD
 53.45 US Dollar        53.45   USD
 US Dollars53.45        53.45   USD
-53.45US Dollars        53.45   USD     H
+53.45US Dollars        53.45   USD
 US Dollar53.45 53.45   USD
 US Dollat53.45 fail    USD
-53.45US Dollar 53.45   USD     H
+53.45US Dollar 53.45   USD
 
 
 test parse currency long
@@ -1151,38 +1132,36 @@ set pattern 0.00 \u00a4\u00a4\u00a4;(#) \u00a4\u00a4\u00a4
 set locale en_GB
 begin
 parse  output  outputCurrency  breaks
-// H throws a NullPointerException on the first case
 53.45  fail    GBP
 £53.45        53.45   GBP
 $53.45 53.45   USD     C
 53.45 USD      53.45   USD
 53.45 GBP      53.45   GBP
-USD 53.45      53.45   USD     H
-53.45USD       53.45   USD     H
+USD 53.45      53.45   USD
+53.45USD       53.45   USD
 USD53.45       53.45   USD
 (7.92) USD     -7.92   USD
 (7.92) GBP     -7.92   GBP
 (7.926) USD    -7.926  USD
-(7.926 USD)    -7.926  USD     H
-(USD 7.926)    -7.926  USD     H
-USD (7.926)    -7.926  USD     H
-USD (7.92)     -7.92   USD     H
-(7.92)USD      -7.92   USD     H
-USD(7.92)      -7.92   USD     H
+(7.926 USD)    -7.926  USD
+(USD 7.926)    -7.926  USD
+USD (7.926)    -7.926  USD
+USD (7.92)     -7.92   USD
+(7.92)USD      -7.92   USD
+USD(7.92)      -7.92   USD
 (8) USD        -8      USD
 -8 USD -8      USD
 67 USD 67      USD
-// H throws a NullPointerException on the next case
-53.45$ 53.45   USD     CH
-US Dollars 53.45       53.45   USD     H
+53.45$ 53.45   USD     C
+US Dollars 53.45       53.45   USD
 53.45 US Dollars       53.45   USD
-US Dollar 53.45        53.45   USD     H
+US Dollar 53.45        53.45   USD
 53.45 US Dollar        53.45   USD
 US Dollars53.45        53.45   USD
-53.45US Dollars        53.45   USD     H
+53.45US Dollars        53.45   USD
 US Dollar53.45 53.45   USD
 US Dollat53.45 fail    USD
-53.45US Dollar 53.45   USD     H
+53.45US Dollar 53.45   USD
 
 
 test parse currency short
@@ -1195,31 +1174,31 @@ parse   output  outputCurrency  breaks
 $53.45 53.45   USD     C
 53.45 USD      53.45   USD
 53.45 GBP      53.45   GBP
-USD 53.45      53.45   USD     H
-53.45USD       53.45   USD     H
+USD 53.45      53.45   USD
+53.45USD       53.45   USD
 USD53.45       53.45   USD
 (7.92) USD     -7.92   USD
 (7.92) GBP     -7.92   GBP
 (7.926) USD    -7.926  USD
-(7.926 USD)    -7.926  USD     H
-(USD 7.926)    -7.926  USD     H
-USD (7.926)    -7.926  USD     H
-USD (7.92)     -7.92   USD     H
-(7.92)USD      -7.92   USD     H
-USD(7.92)      -7.92   USD     H
+(7.926 USD)    -7.926  USD
+(USD 7.926)    -7.926  USD
+USD (7.926)    -7.926  USD
+USD (7.92)     -7.92   USD
+(7.92)USD      -7.92   USD
+USD(7.92)      -7.92   USD
 (8) USD        -8      USD
 -8 USD -8      USD
 67 USD 67      USD
-53.45$ 53.45   USD     CH
-US Dollars 53.45       53.45   USD     H
+53.45$ 53.45   USD     C
+US Dollars 53.45       53.45   USD
 53.45 US Dollars       53.45   USD
-US Dollar 53.45        53.45   USD     H
+US Dollar 53.45        53.45   USD
 53.45 US Dollar        53.45   USD
 US Dollars53.45        53.45   USD
-53.45US Dollars        53.45   USD     H
+53.45US Dollars        53.45   USD
 US Dollar53.45 53.45   USD
 US Dollat53.45 fail    USD
-53.45US Dollar 53.45   USD     H
+53.45US Dollar 53.45   USD
 
 
 test parse currency short prefix
@@ -1232,31 +1211,31 @@ parse   output  outputCurrency  breaks
 $53.45 53.45   USD     C
 53.45 USD      53.45   USD
 53.45 GBP      53.45   GBP
-USD 53.45      53.45   USD     H
-53.45USD       53.45   USD     H
+USD 53.45      53.45   USD
+53.45USD       53.45   USD
 USD53.45       53.45   USD
 // C and P fail these because '(' is an incomplete prefix.
-(7.92) USD     -7.92   USD     CHJP
-(7.92) GBP     -7.92   GBP     CHJP
-(7.926) USD    -7.926  USD     CHJP
-(7.926 USD)    -7.926  USD     CHJP
-(USD 7.926)    -7.926  USD     H
-USD (7.926)    -7.926  USD     CHJP
-USD (7.92)     -7.92   USD     CHJP
-(7.92)USD      -7.92   USD     CHJP
-USD(7.92)      -7.92   USD     CHJP
-(8) USD        -8      USD     CHJP
+(7.92) USD     -7.92   USD     CJP
+(7.92) GBP     -7.92   GBP     CJP
+(7.926) USD    -7.926  USD     CJP
+(7.926 USD)    -7.926  USD     CJP
+(USD 7.926)    -7.926  USD
+USD (7.926)    -7.926  USD     CJP
+USD (7.92)     -7.92   USD     CJP
+(7.92)USD      -7.92   USD     CJP
+USD(7.92)      -7.92   USD     CJP
+(8) USD        -8      USD     CJP
 -8 USD -8      USD
 67 USD 67      USD
-53.45$ 53.45   USD     CH
-US Dollars 53.45       53.45   USD     H
+53.45$ 53.45   USD     C
+US Dollars 53.45       53.45   USD
 53.45 US Dollars       53.45   USD
-US Dollar 53.45        53.45   USD     H
+US Dollar 53.45        53.45   USD
 53.45 US Dollar        53.45   USD
 US Dollars53.45        53.45   USD
-53.45US Dollars        53.45   USD     H
+53.45US Dollars        53.45   USD
 US Dollar53.45 53.45   USD
-53.45US Dollar 53.45   USD     H
+53.45US Dollar 53.45   USD
 
 test format foreign currency
 set locale fa_IR
@@ -1371,7 +1350,7 @@ USD (7.92)        fail    USD
 (7.92)USD      fail    USD
 USD(7.92)      fail    USD
 (8) USD        -8      USD
--8 USD fail    USD     H
+-8 USD fail    USD
 67 USD 67      USD
 53.45$ fail    USD
 US Dollars 53.45       fail    USD
@@ -1400,7 +1379,7 @@ set minFractionDigits 0
 set maxFractionDigits 0
 begin
 format output  breaks
--0.99  -0      HK
+-0.99  -0      K
 
 test parse decimalPatternMatchRequired
 set locale en
@@ -1409,11 +1388,11 @@ begin
 pattern        parse   output  breaks
 // K doesn't support this feature.
 0      123     123
-0      123.    fail    HK
-0      1.23    fail    HK
+0      123.    fail    K
+0      1.23    fail    K
 0      -513    -513
-0      -513.   fail    HK
-0      -5.13   fail    HK
+0      -513.   fail    K
+0      -5.13   fail    K
 0.0    123     fail    K
 0.0    123.    123
 0.0    1.23    1.23
@@ -1427,13 +1406,13 @@ set pattern #
 begin
 pattern        parse   output  breaks
 #      -123    -123
-#      - 123   -123    HK
-#       -123   -123    HK
-#       - 123  -123    HK
+#      - 123   -123    K
+#       -123   -123    K
+#       - 123  -123    K
 #      123-    123
 #      123 -   123
 #;#-   123-    -123
-#;#-   123 -   -123    HK
+#;#-   123 -   -123    K
 
 test parse case sensitive
 set locale en
@@ -1444,19 +1423,18 @@ parse   parseCaseSensitive      output  breaks
 Aa1.23 1       1.23
 Aa1.23 0       1.23
 AA1.23 1       fail
-// H and K do not support case-insensitive parsing for prefix/suffix.
-// H supports it for the exponent separator, but not K.
-AA1.23 0       1.23    HK
+// K does not support case-insensitive parsing for prefix/suffix.
+AA1.23 0       1.23    K
 aa1.23 1       fail
-aa1.23 0       1.23    HK
+aa1.23 0       1.23    K
 Aa1.23E3       1       1230
 Aa1.23E3       0       1230
-Aa1.23e3       1       1.23    H
+Aa1.23e3       1       1.23
 Aa1.23e3       0       1230    K
 NaN    1       NaN     K
 NaN    0       NaN     K
 nan    1       fail
-nan    0       NaN     HK
+nan    0       NaN     K
 
 test parse infinity and scientific notation overflow
 set locale en
@@ -1472,13 +1450,13 @@ NaN     NaN     K
 -1E-99999999999999     -0.0
 1E2147483648   Inf     K
 1E2147483647   Inf     K
-// H, J and K get Infinity
-1E2147483646   1E+2147483646   HJK
+// J and K get Infinity
+1E2147483646   1E+2147483646   JK
 1E-2147483649  0
 1E-2147483648  0
-// H and K return zero here
-1E-2147483647  1E-2147483647   HJK
-1E-2147483646  1E-2147483646   HJK
+// K returns zero here
+1E-2147483647  1E-2147483647   JK
+1E-2147483646  1E-2147483646   JK
 
 test format push limits
 set locale en
@@ -1506,13 +1484,13 @@ begin
 pattern        lenient parse   output  breaks
 // Groups after the first group need 2 digits to be accepted.
 // JDK does not see space as grouping and parses most of these as 9.
-#,##0  1       9 9     9       H
+#,##0  1       9 9     9
 #,##0  1       9 99    999     K
 #,##0  1       9 999   9999    K
-#,##0  1       9 9 9   9       H
+#,##0  1       9 9 9   9
 #,##0  1       ,9      9
 #,##0  1       99,.0   99
-#,##0  1       9 9.    9       H
+#,##0  1       9 9.    9
 #,##0  1       9 99.   999     K
 0      1       9 9     9
 0      1       9 99    9
@@ -1559,36 +1537,36 @@ parse   output  breaks
 x a‎b56c df  56
 x  a‎b56c df         56      K
 x ab56c df     56      K
-x ab56c df     56      HK
+x ab56c df     56      K
 x ab56c df     56      K
-x ab56 56      HK
-x a b56        56      HK
-56cdf  56      HK
-56c df 56      HK
-56cd f 56      HK
-56c‎d‎f    56      HK
-56cdf  56      HK
-56c d‎f      56      HK
-56‎c df      56      HK
+x ab56 56      K
+x a b56        56      K
+56cdf  56      K
+56c df 56      K
+56cd f 56      K
+56c‎d‎f    56      K
+56cdf  56      K
+56c d‎f      56      K
+56‎c df      56      K
 y g‎h56i jk  -56
 y  g‎h56i jk         -56     K
 y gh56i jk     -56     K
-y gh56i jk     -56     HK
+y gh56i jk     -56     K
 y gh56i jk     -56     K
-y gh56 -56     HK
-y g h56        -56     HK
+y gh56 -56     K
+y g h56        -56     K
 // S stops parsing after the 'i' for these and returns -56
 // C stops before the 'i' and gets 56
-56ijk  -56     HK
-56i jk -56     HK
-56ij k -56     HK
-56i‎j‎k    -56     HK
-56ijk  -56     HK
-56i j‎k      -56     HK
-56‎i jk      -56     HK
-// S and C get 56 (accepts ' ' gs grouping); H and K get null
+56ijk  -56     K
+56i jk -56     K
+56ij k -56     K
+56i‎j‎k    -56     K
+56ijk  -56     K
+56i j‎k      -56     K
+56‎i jk      -56     K
+// S and C get 56 (accepts ' ' gs grouping); K gets null
 5 6    fail    CJP
-5‎6  5       HK
+5‎6  5       K
 
 test parse spaces in grouping
 // This test gives the ideal behavior of these cases, which
@@ -1598,7 +1576,7 @@ set locale en
 set pattern #,##0
 begin
 parse  output  breaks
-1 2    1       H
+1 2    1
 1 23   123     K
 // K gets 1 here; doesn't pick up the grouping separator
 1 234  1234    K
@@ -1614,7 +1592,7 @@ format    output  breaks
 // C and J get "1"
 // P gets "1.0"
 // K gets "1.1" (??)
-0.975  0.98    CHJKP
+0.975  0.98    CJKP
 
 test lenient parse currency match
 // This test is for #13112
@@ -1622,8 +1600,8 @@ set locale en
 set pattern ¤#,##0.00
 begin
 parse  output  breaks
-// H and K get null
-1.23!@#$%^     1.23    HK
+// K gets null
+1.23!@#$%^     1.23    K
 
 test percentage parsing multiplier
 // This test is for #13114
@@ -1632,9 +1610,9 @@ set pattern 0%
 begin
 parse  output  breaks
 55%    0.55
-// H and K get null
+// K gets null
 // C and P scale by 100 even if the percent sign is not present
-55     0.55    HK
+55     0.55    K
 
 test trailing grouping separators in pattern
 // This test is for #13115
@@ -1653,8 +1631,8 @@ begin
 pattern        format  output  breaks
 0      -15     -15
 0;     -15     -15
-// H and K still prepend a '-' even though the pattern says otherwise
-0;0    -15     15      HK
+// K still prepends a '-' even though the pattern says otherwise
+0;0    -15     15      K
 
 test percentage multiplier parsing
 // This test is for #13129
@@ -1670,9 +1648,9 @@ set pattern 0
 set signAlwaysShown 1
 begin
 format output  breaks
-// H and K do not support this feature
-42     +42     HK
-0      +0      HK
+// K does not support this feature
+42     +42     K
+0      +0      K
 -42    -42
 
 test parse strict with plus sign
@@ -1683,14 +1661,14 @@ begin
 lenient        parse   output  breaks
 1      42      42
 1      -42     -42
-1      +42     42      HK
+1      +42     42      K
 1      0       0
-1      +0      0       HK
-0      42      fail    HK
+1      +0      0       K
+0      42      fail    K
 0      -42     -42
-0      +42     42      HK
-0      0       fail    HK
-0      +0      0       HK
+0      +42     42      K
+0      0       fail    K
+0      +0      0       K
 
 test parse with scientific-separator-affix overlap
 set locale en
@@ -1708,13 +1686,13 @@ set currency USD
 begin
 parse  output  breaks
 USD123 123
-USD 123        123     HK
+USD 123        123     K
 usd123 123     K
-usd 123        123     HK
+usd 123        123     K
 Usd123 123     K
-Usd 123        123     HK
+Usd 123        123     K
 // US$ is not used for US dollars in en-US
-US$123 fail    H
+US$123 fail
 us$123 fail
 Us$123 fail
 123 US dollars 123     K
@@ -1733,11 +1711,11 @@ set currency USD
 begin
 parse  output  outputCurrency  breaks
 USD123 123     USD
-USD 123        123     USD     H
+USD 123        123     USD
 usd123 123     USD
-usd 123        123     USD     H
+usd 123        123     USD
 Usd123 123     USD
-Usd 123        123     USD     H
+Usd 123        123     USD
 US$123 123     USD     C
 us$123 fail    fail
 Us$123 fail    fail
@@ -1746,10 +1724,16 @@ Us$123  fail    fail
 123 us dollars 123     USD
 GBP123 123     GBP
 gbp123 123     GBP     C
-British pounds 123     123     GBP     H
-british POUNDS 123     123     GBP     H
-
+British pounds 123     123     GBP
+british POUNDS 123     123     GBP
 
+test parse scientific with bidi marks
+begin
+locale parse   output  breaks
+en     4E\u200E+02     400     K
+en     4E+02   400     K
+he     4E\u200E+02     400     K
+he     4E+02   400     K