Explorar el Código

Merge pull request #67968 from bruvzg/icu72.1

ICU: Update to version 72.1
Rémi Verschelde hace 2 años
padre
commit
d43364e3cc
Se han modificado 100 ficheros con 4273 adiciones y 3548 borrados
  1. 1 1
      modules/text_server_adv/SCsub
  2. 1 1
      modules/text_server_adv/gdextension_build/SConstruct
  3. 3 3
      thirdparty/README.md
  4. 4 4
      thirdparty/icu4c/common/appendable.cpp
  5. 2 2
      thirdparty/icu4c/common/bmpset.cpp
  6. 2 2
      thirdparty/icu4c/common/brkeng.cpp
  7. 3 3
      thirdparty/icu4c/common/brkiter.cpp
  8. 8 8
      thirdparty/icu4c/common/bytesinkutil.cpp
  9. 5 0
      thirdparty/icu4c/common/bytesinkutil.h
  10. 4 4
      thirdparty/icu4c/common/bytestream.cpp
  11. 7 7
      thirdparty/icu4c/common/bytestrie.cpp
  12. 5 5
      thirdparty/icu4c/common/bytestriebuilder.cpp
  13. 6 6
      thirdparty/icu4c/common/bytestrieiterator.cpp
  14. 5 5
      thirdparty/icu4c/common/caniter.cpp
  15. 5 5
      thirdparty/icu4c/common/characterproperties.cpp
  16. 3 3
      thirdparty/icu4c/common/charstr.cpp
  17. 2 2
      thirdparty/icu4c/common/charstr.h
  18. 1 1
      thirdparty/icu4c/common/cmemory.cpp
  19. 2 2
      thirdparty/icu4c/common/cstr.h
  20. 4 4
      thirdparty/icu4c/common/dictbe.cpp
  21. 32 32
      thirdparty/icu4c/common/edits.cpp
  22. 1 1
      thirdparty/icu4c/common/emojiprops.cpp
  23. 19 19
      thirdparty/icu4c/common/filteredbrk.cpp
  24. 8 8
      thirdparty/icu4c/common/filterednormalizer2.cpp
  25. 2 2
      thirdparty/icu4c/common/hash.h
  26. 14 14
      thirdparty/icu4c/common/icuplug.cpp
  27. 6 6
      thirdparty/icu4c/common/loadednormalizer2impl.cpp
  28. 2 2
      thirdparty/icu4c/common/localebuilder.cpp
  29. 632 0
      thirdparty/icu4c/common/localefallback_data.h
  30. 11 11
      thirdparty/icu4c/common/localematcher.cpp
  31. 1 1
      thirdparty/icu4c/common/localeprioritylist.cpp
  32. 4 4
      thirdparty/icu4c/common/locavailable.cpp
  33. 8 8
      thirdparty/icu4c/common/locdispnames.cpp
  34. 2 2
      thirdparty/icu4c/common/locdistance.cpp
  35. 20 20
      thirdparty/icu4c/common/locdspnm.cpp
  36. 26 27
      thirdparty/icu4c/common/locid.cpp
  37. 25 25
      thirdparty/icu4c/common/loclikely.cpp
  38. 3 3
      thirdparty/icu4c/common/loclikelysubtags.cpp
  39. 4 4
      thirdparty/icu4c/common/locmap.cpp
  40. 2 2
      thirdparty/icu4c/common/locutil.cpp
  41. 1 1
      thirdparty/icu4c/common/messageimpl.h
  42. 37 37
      thirdparty/icu4c/common/messagepattern.cpp
  43. 66 64
      thirdparty/icu4c/common/norm2_nfc_data.h
  44. 10 10
      thirdparty/icu4c/common/normalizer2.cpp
  45. 67 67
      thirdparty/icu4c/common/normalizer2impl.cpp
  46. 3 3
      thirdparty/icu4c/common/normalizer2impl.h
  47. 3 3
      thirdparty/icu4c/common/normlzr.cpp
  48. 11 11
      thirdparty/icu4c/common/patternprops.cpp
  49. 1 1
      thirdparty/icu4c/common/patternprops.h
  50. 2 2
      thirdparty/icu4c/common/propname.cpp
  51. 691 685
      thirdparty/icu4c/common/propname_data.h
  52. 3 3
      thirdparty/icu4c/common/propsvec.cpp
  53. 1 1
      thirdparty/icu4c/common/punycode.cpp
  54. 17 17
      thirdparty/icu4c/common/putil.cpp
  55. 16 16
      thirdparty/icu4c/common/rbbi.cpp
  56. 98 52
      thirdparty/icu4c/common/rbbi_cache.cpp
  57. 3 3
      thirdparty/icu4c/common/rbbidata.cpp
  58. 7 7
      thirdparty/icu4c/common/rbbinode.cpp
  59. 3 3
      thirdparty/icu4c/common/rbbirb.cpp
  60. 4 4
      thirdparty/icu4c/common/rbbirb.h
  61. 104 104
      thirdparty/icu4c/common/rbbirpt.h
  62. 39 39
      thirdparty/icu4c/common/rbbiscan.cpp
  63. 2 2
      thirdparty/icu4c/common/rbbiscan.h
  64. 2 2
      thirdparty/icu4c/common/rbbisetb.cpp
  65. 2 2
      thirdparty/icu4c/common/rbbisetb.h
  66. 2 2
      thirdparty/icu4c/common/rbbistbl.cpp
  67. 12 12
      thirdparty/icu4c/common/rbbitblb.cpp
  68. 2 2
      thirdparty/icu4c/common/rbbitblb.h
  69. 5 5
      thirdparty/icu4c/common/resbund.cpp
  70. 2 2
      thirdparty/icu4c/common/resource.h
  71. 2 2
      thirdparty/icu4c/common/ruleiter.cpp
  72. 4 4
      thirdparty/icu4c/common/ruleiter.h
  73. 9 9
      thirdparty/icu4c/common/serv.cpp
  74. 4 4
      thirdparty/icu4c/common/servlk.cpp
  75. 1 1
      thirdparty/icu4c/common/servlkf.cpp
  76. 2 2
      thirdparty/icu4c/common/servls.cpp
  77. 2 2
      thirdparty/icu4c/common/sharedobject.h
  78. 9 9
      thirdparty/icu4c/common/simpleformatter.cpp
  79. 6 6
      thirdparty/icu4c/common/static_unicode_sets.cpp
  80. 10 10
      thirdparty/icu4c/common/stringtriebuilder.cpp
  81. 4 4
      thirdparty/icu4c/common/uarrsort.cpp
  82. 32 32
      thirdparty/icu4c/common/ubidi.cpp
  83. 1 1
      thirdparty/icu4c/common/ubidi_props.cpp
  84. 131 122
      thirdparty/icu4c/common/ubidi_props_data.h
  85. 8 8
      thirdparty/icu4c/common/ubidiln.cpp
  86. 14 14
      thirdparty/icu4c/common/ubiditransform.cpp
  87. 30 30
      thirdparty/icu4c/common/ucase.cpp
  88. 2 2
      thirdparty/icu4c/common/ucase.h
  89. 688 673
      thirdparty/icu4c/common/ucase_props_data.h
  90. 9 9
      thirdparty/icu4c/common/ucasemap.cpp
  91. 6 6
      thirdparty/icu4c/common/uchar.cpp
  92. 1045 1034
      thirdparty/icu4c/common/uchar_props_data.h
  93. 7 7
      thirdparty/icu4c/common/ucharstrie.cpp
  94. 5 5
      thirdparty/icu4c/common/ucharstriebuilder.cpp
  95. 10 10
      thirdparty/icu4c/common/ucharstrieiterator.cpp
  96. 2 2
      thirdparty/icu4c/common/uchriter.cpp
  97. 1 1
      thirdparty/icu4c/common/ucln_cmn.cpp
  98. 55 55
      thirdparty/icu4c/common/ucnv.cpp
  99. 38 38
      thirdparty/icu4c/common/ucnv2022.cpp
  100. 25 25
      thirdparty/icu4c/common/ucnv_bld.cpp

+ 1 - 1
modules/text_server_adv/SCsub

@@ -451,7 +451,7 @@ if env["builtin_icu"]:
     ]
     ]
     thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
     thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
 
 
-    icu_data_name = "icudt71l.dat"
+    icu_data_name = "icudt72l.dat"
 
 
     if env.editor_build:
     if env.editor_build:
         env_icu.Depends("#thirdparty/icu4c/icudata.gen.h", "#thirdparty/icu4c/" + icu_data_name)
         env_icu.Depends("#thirdparty/icu4c/icudata.gen.h", "#thirdparty/icu4c/" + icu_data_name)

+ 1 - 1
modules/text_server_adv/gdextension_build/SConstruct

@@ -597,7 +597,7 @@ thirdparty_icu_sources = [
 ]
 ]
 thirdparty_icu_sources = [thirdparty_icu_dir + file for file in thirdparty_icu_sources]
 thirdparty_icu_sources = [thirdparty_icu_dir + file for file in thirdparty_icu_sources]
 
 
-icu_data_name = "icudt71l.dat"
+icu_data_name = "icudt72l.dat"
 
 
 if env["static_icu_data"]:
 if env["static_icu_data"]:
     env_icu.Depends("../../../thirdparty/icu4c/icudata.gen.h", "../../../thirdparty/icu4c/" + icu_data_name)
     env_icu.Depends("../../../thirdparty/icu4c/icudata.gen.h", "../../../thirdparty/icu4c/" + icu_data_name)

+ 3 - 3
thirdparty/README.md

@@ -226,7 +226,7 @@ Files extracted from upstream source:
 ## icu4c
 ## icu4c
 
 
 - Upstream: https://github.com/unicode-org/icu
 - Upstream: https://github.com/unicode-org/icu
-- Version: 71.1 (c205e7ee49a7086a28b9c275fcfdac9ca3dc815d, 2022)
+- Version: 72.1 (ff3514f257ea10afe7e710e9f946f68d256704b1, 2022)
 - License: Unicode
 - License: Unicode
 
 
 Files extracted from upstream source:
 Files extracted from upstream source:
@@ -238,14 +238,14 @@ Files extracted from upstream source:
 
 
 Files generated from upstream source:
 Files generated from upstream source:
 
 
-- the `icudt71l.dat` built with the provided `godot_data.json` config file (see
+- the `icudt72l.dat` built with the provided `godot_data.json` config file (see
   https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md
   https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md
   for instructions).
   for instructions).
 
 
 - Step 1: Build ICU with default options - `./runConfigureICU {PLATFORM} && make`.
 - Step 1: Build ICU with default options - `./runConfigureICU {PLATFORM} && make`.
 - Step 2: Reconfigure ICU with custom data config - `ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`.
 - Step 2: Reconfigure ICU with custom data config - `ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`.
 - Step 3: Delete `data/out` folder and rebuild data - `cd data && rm -rf ./out && make`.
 - Step 3: Delete `data/out` folder and rebuild data - `cd data && rm -rf ./out && make`.
-- Step 4: Copy `source/data/out/icudt71l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt71l.dat`.
+- Step 4: Copy `source/data/out/icudt72l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt72l.dat`.
 
 
 
 
 ## jpeg-compressor
 ## jpeg-compressor

+ 4 - 4
thirdparty/icu4c/common/appendable.cpp

@@ -37,23 +37,23 @@ Appendable::appendString(const UChar *s, int32_t length) {
         UChar c;
         UChar c;
         while((c=*s++)!=0) {
         while((c=*s++)!=0) {
             if(!appendCodeUnit(c)) {
             if(!appendCodeUnit(c)) {
-                return FALSE;
+                return false;
             }
             }
         }
         }
     } else if(length>0) {
     } else if(length>0) {
         const UChar *limit=s+length;
         const UChar *limit=s+length;
         do {
         do {
             if(!appendCodeUnit(*s++)) {
             if(!appendCodeUnit(*s++)) {
-                return FALSE;
+                return false;
             }
             }
         } while(s<limit);
         } while(s<limit);
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool
 UBool
 Appendable::reserveAppendCapacity(int32_t /*appendCapacity*/) {
 Appendable::reserveAppendCapacity(int32_t /*appendCapacity*/) {
-    return TRUE;
+    return true;
 }
 }
 
 
 UChar *
 UChar *

+ 2 - 2
thirdparty/icu4c/common/bmpset.cpp

@@ -309,9 +309,9 @@ BMPSet::contains(UChar32 c) const {
         // surrogate or supplementary code point
         // surrogate or supplementary code point
         return containsSlow(c, list4kStarts[0xd], list4kStarts[0x11]);
         return containsSlow(c, list4kStarts[0xd], list4kStarts[0x11]);
     } else {
     } else {
-        // Out-of-range code points get FALSE, consistent with long-standing
+        // Out-of-range code points get false, consistent with long-standing
         // behavior of UnicodeSet::contains(c).
         // behavior of UnicodeSet::contains(c).
-        return FALSE;
+        return false;
     }
     }
 }
 }
 
 

+ 2 - 2
thirdparty/icu4c/common/brkeng.cpp

@@ -261,10 +261,10 @@ ICULanguageBreakFactory::loadDictionaryMatcherFor(UScriptCode script) {
     const UChar *extStart = u_memrchr(dictfname, 0x002e, dictnlength);  // last dot
     const UChar *extStart = u_memrchr(dictfname, 0x002e, dictnlength);  // last dot
     if (extStart != NULL) {
     if (extStart != NULL) {
         int32_t len = (int32_t)(extStart - dictfname);
         int32_t len = (int32_t)(extStart - dictfname);
-        ext.appendInvariantChars(UnicodeString(FALSE, extStart + 1, dictnlength - len - 1), status);
+        ext.appendInvariantChars(UnicodeString(false, extStart + 1, dictnlength - len - 1), status);
         dictnlength = len;
         dictnlength = len;
     }
     }
-    dictnbuf.appendInvariantChars(UnicodeString(FALSE, dictfname, dictnlength), status);
+    dictnbuf.appendInvariantChars(UnicodeString(false, dictfname, dictnlength), status);
     ures_close(b);
     ures_close(b);
 
 
     UDataMemory *file = udata_open(U_ICUDATA_BRKITR, ext.data(), dictnbuf.data(), &status);
     UDataMemory *file = udata_open(U_ICUDATA_BRKITR, ext.data(), dictnbuf.data(), &status);

+ 3 - 3
thirdparty/icu4c/common/brkiter.cpp

@@ -279,7 +279,7 @@ ICUBreakIteratorService::~ICUBreakIteratorService() {}
 // defined in ucln_cmn.h
 // defined in ucln_cmn.h
 U_NAMESPACE_END
 U_NAMESPACE_END
 
 
-static icu::UInitOnce gInitOnceBrkiter = U_INITONCE_INITIALIZER;
+static icu::UInitOnce gInitOnceBrkiter {};
 static icu::ICULocaleService* gService = NULL;
 static icu::ICULocaleService* gService = NULL;
 
 
 
 
@@ -296,7 +296,7 @@ static UBool U_CALLCONV breakiterator_cleanup(void) {
     }
     }
     gInitOnceBrkiter.reset();
     gInitOnceBrkiter.reset();
 #endif
 #endif
-    return TRUE;
+    return true;
 }
 }
 U_CDECL_END
 U_CDECL_END
 U_NAMESPACE_BEGIN
 U_NAMESPACE_BEGIN
@@ -347,7 +347,7 @@ BreakIterator::unregister(URegistryKey key, UErrorCode& status)
         }
         }
         status = U_MEMORY_ALLOCATION_ERROR;
         status = U_MEMORY_ALLOCATION_ERROR;
     }
     }
-    return FALSE;
+    return false;
 }
 }
 
 
 // -------------------------------------
 // -------------------------------------

+ 8 - 8
thirdparty/icu4c/common/bytesinkutil.cpp

@@ -20,7 +20,7 @@ U_NAMESPACE_BEGIN
 UBool
 UBool
 ByteSinkUtil::appendChange(int32_t length, const char16_t *s16, int32_t s16Length,
 ByteSinkUtil::appendChange(int32_t length, const char16_t *s16, int32_t s16Length,
                            ByteSink &sink, Edits *edits, UErrorCode &errorCode) {
                            ByteSink &sink, Edits *edits, UErrorCode &errorCode) {
-    if (U_FAILURE(errorCode)) { return FALSE; }
+    if (U_FAILURE(errorCode)) { return false; }
     char scratch[200];
     char scratch[200];
     int32_t s8Length = 0;
     int32_t s8Length = 0;
     for (int32_t i = 0; i < s16Length;) {
     for (int32_t i = 0; i < s16Length;) {
@@ -44,7 +44,7 @@ ByteSinkUtil::appendChange(int32_t length, const char16_t *s16, int32_t s16Lengt
         }
         }
         if (j > (INT32_MAX - s8Length)) {
         if (j > (INT32_MAX - s8Length)) {
             errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
             errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
-            return FALSE;
+            return false;
         }
         }
         sink.Append(buffer, j);
         sink.Append(buffer, j);
         s8Length += j;
         s8Length += j;
@@ -52,17 +52,17 @@ ByteSinkUtil::appendChange(int32_t length, const char16_t *s16, int32_t s16Lengt
     if (edits != nullptr) {
     if (edits != nullptr) {
         edits->addReplace(length, s8Length);
         edits->addReplace(length, s8Length);
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool
 UBool
 ByteSinkUtil::appendChange(const uint8_t *s, const uint8_t *limit,
 ByteSinkUtil::appendChange(const uint8_t *s, const uint8_t *limit,
                            const char16_t *s16, int32_t s16Length,
                            const char16_t *s16, int32_t s16Length,
                            ByteSink &sink, Edits *edits, UErrorCode &errorCode) {
                            ByteSink &sink, Edits *edits, UErrorCode &errorCode) {
-    if (U_FAILURE(errorCode)) { return FALSE; }
+    if (U_FAILURE(errorCode)) { return false; }
     if ((limit - s) > INT32_MAX) {
     if ((limit - s) > INT32_MAX) {
         errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
         errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
-        return FALSE;
+        return false;
     }
     }
     return appendChange((int32_t)(limit - s), s16, s16Length, sink, edits, errorCode);
     return appendChange((int32_t)(limit - s), s16, s16Length, sink, edits, errorCode);
 }
 }
@@ -109,16 +109,16 @@ UBool
 ByteSinkUtil::appendUnchanged(const uint8_t *s, const uint8_t *limit,
 ByteSinkUtil::appendUnchanged(const uint8_t *s, const uint8_t *limit,
                               ByteSink &sink, uint32_t options, Edits *edits,
                               ByteSink &sink, uint32_t options, Edits *edits,
                               UErrorCode &errorCode) {
                               UErrorCode &errorCode) {
-    if (U_FAILURE(errorCode)) { return FALSE; }
+    if (U_FAILURE(errorCode)) { return false; }
     if ((limit - s) > INT32_MAX) {
     if ((limit - s) > INT32_MAX) {
         errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
         errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
-        return FALSE;
+        return false;
     }
     }
     int32_t length = (int32_t)(limit - s);
     int32_t length = (int32_t)(limit - s);
     if (length > 0) {
     if (length > 0) {
         appendNonEmptyUnchanged(s, length, sink, options, edits);
         appendNonEmptyUnchanged(s, length, sink, options, edits);
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 CharStringByteSink::CharStringByteSink(CharString* dest) : dest_(*dest) {
 CharStringByteSink::CharStringByteSink(CharString* dest) : dest_(*dest) {

+ 5 - 0
thirdparty/icu4c/common/bytesinkutil.h

@@ -4,6 +4,9 @@
 // bytesinkutil.h
 // bytesinkutil.h
 // created: 2017sep14 Markus W. Scherer
 // created: 2017sep14 Markus W. Scherer
 
 
+#ifndef BYTESINKUTIL_H
+#define BYTESINKUTIL_H
+
 #include "unicode/utypes.h"
 #include "unicode/utypes.h"
 #include "unicode/bytestream.h"
 #include "unicode/bytestream.h"
 #include "unicode/edits.h"
 #include "unicode/edits.h"
@@ -81,3 +84,5 @@ private:
 };
 };
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END
+
+#endif //BYTESINKUTIL_H

+ 4 - 4
thirdparty/icu4c/common/bytestream.cpp

@@ -30,14 +30,14 @@ void ByteSink::Flush() {}
 
 
 CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, int32_t capacity)
 CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, int32_t capacity)
     : outbuf_(outbuf), capacity_(capacity < 0 ? 0 : capacity),
     : outbuf_(outbuf), capacity_(capacity < 0 ? 0 : capacity),
-      size_(0), appended_(0), overflowed_(FALSE) {
+      size_(0), appended_(0), overflowed_(false) {
 }
 }
 
 
 CheckedArrayByteSink::~CheckedArrayByteSink() {}
 CheckedArrayByteSink::~CheckedArrayByteSink() {}
 
 
 CheckedArrayByteSink& CheckedArrayByteSink::Reset() {
 CheckedArrayByteSink& CheckedArrayByteSink::Reset() {
   size_ = appended_ = 0;
   size_ = appended_ = 0;
-  overflowed_ = FALSE;
+  overflowed_ = false;
   return *this;
   return *this;
 }
 }
 
 
@@ -48,14 +48,14 @@ void CheckedArrayByteSink::Append(const char* bytes, int32_t n) {
   if (n > (INT32_MAX - appended_)) {
   if (n > (INT32_MAX - appended_)) {
     // TODO: Report as integer overflow, not merely buffer overflow.
     // TODO: Report as integer overflow, not merely buffer overflow.
     appended_ = INT32_MAX;
     appended_ = INT32_MAX;
-    overflowed_ = TRUE;
+    overflowed_ = true;
     return;
     return;
   }
   }
   appended_ += n;
   appended_ += n;
   int32_t available = capacity_ - size_;
   int32_t available = capacity_ - size_;
   if (n > available) {
   if (n > available) {
     n = available;
     n = available;
-    overflowed_ = TRUE;
+    overflowed_ = true;
   }
   }
   if (n > 0 && bytes != (outbuf_ + size_)) {
   if (n > 0 && bytes != (outbuf_ + size_)) {
     uprv_memcpy(outbuf_ + size_, bytes, n);
     uprv_memcpy(outbuf_ + size_, bytes, n);

+ 7 - 7
thirdparty/icu4c/common/bytestrie.cpp

@@ -337,13 +337,13 @@ BytesTrie::findUniqueValueFromBranch(const uint8_t *pos, int32_t length,
                 }
                 }
             } else {
             } else {
                 uniqueValue=value;
                 uniqueValue=value;
-                haveUniqueValue=TRUE;
+                haveUniqueValue=true;
             }
             }
         } else {
         } else {
             if(!findUniqueValue(pos+value, haveUniqueValue, uniqueValue)) {
             if(!findUniqueValue(pos+value, haveUniqueValue, uniqueValue)) {
                 return NULL;
                 return NULL;
             }
             }
-            haveUniqueValue=TRUE;
+            haveUniqueValue=true;
         }
         }
     } while(--length>1);
     } while(--length>1);
     return pos+1;  // ignore the last comparison byte
     return pos+1;  // ignore the last comparison byte
@@ -359,9 +359,9 @@ BytesTrie::findUniqueValue(const uint8_t *pos, UBool haveUniqueValue, int32_t &u
             }
             }
             pos=findUniqueValueFromBranch(pos, node+1, haveUniqueValue, uniqueValue);
             pos=findUniqueValueFromBranch(pos, node+1, haveUniqueValue, uniqueValue);
             if(pos==NULL) {
             if(pos==NULL) {
-                return FALSE;
+                return false;
             }
             }
-            haveUniqueValue=TRUE;
+            haveUniqueValue=true;
         } else if(node<kMinValueLead) {
         } else if(node<kMinValueLead) {
             // linear-match node
             // linear-match node
             pos+=node-kMinLinearMatch+1;  // Ignore the match bytes.
             pos+=node-kMinLinearMatch+1;  // Ignore the match bytes.
@@ -370,14 +370,14 @@ BytesTrie::findUniqueValue(const uint8_t *pos, UBool haveUniqueValue, int32_t &u
             int32_t value=readValue(pos, node>>1);
             int32_t value=readValue(pos, node>>1);
             if(haveUniqueValue) {
             if(haveUniqueValue) {
                 if(value!=uniqueValue) {
                 if(value!=uniqueValue) {
-                    return FALSE;
+                    return false;
                 }
                 }
             } else {
             } else {
                 uniqueValue=value;
                 uniqueValue=value;
-                haveUniqueValue=TRUE;
+                haveUniqueValue=true;
             }
             }
             if(isFinal) {
             if(isFinal) {
-                return TRUE;
+                return true;
             }
             }
             pos=skipValue(pos, node);
             pos=skipValue(pos, node);
         }
         }

+ 5 - 5
thirdparty/icu4c/common/bytestriebuilder.cpp

@@ -231,7 +231,7 @@ BytesTrieBuilder::buildBytes(UStringTrieBuildOption buildOption, UErrorCode &err
         }
         }
         uprv_sortArray(elements, elementsLength, (int32_t)sizeof(BytesTrieElement),
         uprv_sortArray(elements, elementsLength, (int32_t)sizeof(BytesTrieElement),
                       compareElementStrings, strings,
                       compareElementStrings, strings,
-                      FALSE,  // need not be a stable sort
+                      false,  // need not be a stable sort
                       &errorCode);
                       &errorCode);
         if(U_FAILURE(errorCode)) {
         if(U_FAILURE(errorCode)) {
             return;
             return;
@@ -375,7 +375,7 @@ BytesTrieBuilder::createLinearMatchNode(int32_t i, int32_t byteIndex, int32_t le
 UBool
 UBool
 BytesTrieBuilder::ensureCapacity(int32_t length) {
 BytesTrieBuilder::ensureCapacity(int32_t length) {
     if(bytes==NULL) {
     if(bytes==NULL) {
-        return FALSE;  // previous memory allocation had failed
+        return false;  // previous memory allocation had failed
     }
     }
     if(length>bytesCapacity) {
     if(length>bytesCapacity) {
         int32_t newCapacity=bytesCapacity;
         int32_t newCapacity=bytesCapacity;
@@ -388,7 +388,7 @@ BytesTrieBuilder::ensureCapacity(int32_t length) {
             uprv_free(bytes);
             uprv_free(bytes);
             bytes=NULL;
             bytes=NULL;
             bytesCapacity=0;
             bytesCapacity=0;
-            return FALSE;
+            return false;
         }
         }
         uprv_memcpy(newBytes+(newCapacity-bytesLength),
         uprv_memcpy(newBytes+(newCapacity-bytesLength),
                     bytes+(bytesCapacity-bytesLength), bytesLength);
                     bytes+(bytesCapacity-bytesLength), bytesLength);
@@ -396,7 +396,7 @@ BytesTrieBuilder::ensureCapacity(int32_t length) {
         bytes=newBytes;
         bytes=newBytes;
         bytesCapacity=newCapacity;
         bytesCapacity=newCapacity;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 int32_t
 int32_t
@@ -463,7 +463,7 @@ int32_t
 BytesTrieBuilder::writeValueAndType(UBool hasValue, int32_t value, int32_t node) {
 BytesTrieBuilder::writeValueAndType(UBool hasValue, int32_t value, int32_t node) {
     int32_t offset=write(node);
     int32_t offset=write(node);
     if(hasValue) {
     if(hasValue) {
-        offset=writeValueAndFinal(value, FALSE);
+        offset=writeValueAndFinal(value, false);
     }
     }
     return offset;
     return offset;
 }
 }

+ 6 - 6
thirdparty/icu4c/common/bytestrieiterator.cpp

@@ -101,12 +101,12 @@ BytesTrie::Iterator::hasNext() const { return pos_!=NULL || !stack_->isEmpty();
 UBool
 UBool
 BytesTrie::Iterator::next(UErrorCode &errorCode) {
 BytesTrie::Iterator::next(UErrorCode &errorCode) {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     const uint8_t *pos=pos_;
     const uint8_t *pos=pos_;
     if(pos==NULL) {
     if(pos==NULL) {
         if(stack_->isEmpty()) {
         if(stack_->isEmpty()) {
-            return FALSE;
+            return false;
         }
         }
         // Pop the state off the stack and continue with the next outbound edge of
         // Pop the state off the stack and continue with the next outbound edge of
         // the branch node.
         // the branch node.
@@ -119,7 +119,7 @@ BytesTrie::Iterator::next(UErrorCode &errorCode) {
         if(length>1) {
         if(length>1) {
             pos=branchNext(pos, length, errorCode);
             pos=branchNext(pos, length, errorCode);
             if(pos==NULL) {
             if(pos==NULL) {
-                return TRUE;  // Reached a final value.
+                return true;  // Reached a final value.
             }
             }
         } else {
         } else {
             str_->append((char)*pos++, errorCode);
             str_->append((char)*pos++, errorCode);
@@ -141,7 +141,7 @@ BytesTrie::Iterator::next(UErrorCode &errorCode) {
             } else {
             } else {
                 pos_=skipValue(pos, node);
                 pos_=skipValue(pos, node);
             }
             }
-            return TRUE;
+            return true;
         }
         }
         if(maxLength_>0 && str_->length()==maxLength_) {
         if(maxLength_>0 && str_->length()==maxLength_) {
             return truncateAndStop();
             return truncateAndStop();
@@ -152,7 +152,7 @@ BytesTrie::Iterator::next(UErrorCode &errorCode) {
             }
             }
             pos=branchNext(pos, node+1, errorCode);
             pos=branchNext(pos, node+1, errorCode);
             if(pos==NULL) {
             if(pos==NULL) {
-                return TRUE;  // Reached a final value.
+                return true;  // Reached a final value.
             }
             }
         } else {
         } else {
             // Linear-match node, append length bytes to str_.
             // Linear-match node, append length bytes to str_.
@@ -177,7 +177,7 @@ UBool
 BytesTrie::Iterator::truncateAndStop() {
 BytesTrie::Iterator::truncateAndStop() {
     pos_=NULL;
     pos_=NULL;
     value_=-1;  // no real value for str
     value_=-1;  // no real value for str
-    return TRUE;
+    return true;
 }
 }
 
 
 // Branch node, needs to take the first outbound edge and push state for the rest.
 // Branch node, needs to take the first outbound edge and push state for the rest.

+ 5 - 5
thirdparty/icu4c/common/caniter.cpp

@@ -119,7 +119,7 @@ UnicodeString CanonicalIterator::getSource() {
  * Resets the iterator so that one can start again from the beginning.
  * Resets the iterator so that one can start again from the beginning.
  */
  */
 void CanonicalIterator::reset() {
 void CanonicalIterator::reset() {
-    done = FALSE;
+    done = false;
     for (int i = 0; i < current_length; ++i) {
     for (int i = 0; i < current_length; ++i) {
         current[i] = 0;
         current[i] = 0;
     }
     }
@@ -151,7 +151,7 @@ UnicodeString CanonicalIterator::next() {
 
 
     for (i = current_length - 1; ; --i) {
     for (i = current_length - 1; ; --i) {
         if (i < 0) {
         if (i < 0) {
-            done = TRUE;
+            done = true;
             break;
             break;
         }
         }
         current[i]++;
         current[i]++;
@@ -176,7 +176,7 @@ void CanonicalIterator::setSource(const UnicodeString &newSource, UErrorCode &st
     if(U_FAILURE(status)) {
     if(U_FAILURE(status)) {
       return;
       return;
     }
     }
-    done = FALSE;
+    done = false;
 
 
     cleanPieces();
     cleanPieces();
 
 
@@ -521,7 +521,7 @@ Hashtable *CanonicalIterator::extract(Hashtable *fillinResult, UChar32 comp, con
     int32_t decompLen=decompString.length();
     int32_t decompLen=decompString.length();
 
 
     // See if it matches the start of segment (at segmentPos)
     // See if it matches the start of segment (at segmentPos)
-    UBool ok = FALSE;
+    UBool ok = false;
     UChar32 cp;
     UChar32 cp;
     int32_t decompPos = 0;
     int32_t decompPos = 0;
     UChar32 decompCp;
     UChar32 decompCp;
@@ -537,7 +537,7 @@ Hashtable *CanonicalIterator::extract(Hashtable *fillinResult, UChar32 comp, con
 
 
             if (decompPos == decompLen) { // done, have all decomp characters!
             if (decompPos == decompLen) { // done, have all decomp characters!
                 temp.append(segment+i, segLen-i);
                 temp.append(segment+i, segLen-i);
-                ok = TRUE;
+                ok = true;
                 break;
                 break;
             }
             }
             U16_NEXT(decomp, decompPos, decompLen, decompCp);
             U16_NEXT(decomp, decompPos, decompLen, decompCp);

+ 5 - 5
thirdparty/icu4c/common/characterproperties.cpp

@@ -36,11 +36,11 @@ namespace {
 
 
 UBool U_CALLCONV characterproperties_cleanup();
 UBool U_CALLCONV characterproperties_cleanup();
 
 
-constexpr int32_t NUM_INCLUSIONS = UPROPS_SRC_COUNT + UCHAR_INT_LIMIT - UCHAR_INT_START;
+constexpr int32_t NUM_INCLUSIONS = UPROPS_SRC_COUNT + (UCHAR_INT_LIMIT - UCHAR_INT_START);
 
 
 struct Inclusion {
 struct Inclusion {
     UnicodeSet  *fSet = nullptr;
     UnicodeSet  *fSet = nullptr;
-    UInitOnce    fInitOnce = U_INITONCE_INITIALIZER;
+    UInitOnce    fInitOnce {};
 };
 };
 Inclusion gInclusions[NUM_INCLUSIONS]; // cached getInclusions()
 Inclusion gInclusions[NUM_INCLUSIONS]; // cached getInclusions()
 
 
@@ -85,7 +85,7 @@ UBool U_CALLCONV characterproperties_cleanup() {
         ucptrie_close(reinterpret_cast<UCPTrie *>(maps[i]));
         ucptrie_close(reinterpret_cast<UCPTrie *>(maps[i]));
         maps[i] = nullptr;
         maps[i] = nullptr;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 void U_CALLCONV initInclusion(UPropertySource src, UErrorCode &errorCode) {
 void U_CALLCONV initInclusion(UPropertySource src, UErrorCode &errorCode) {
@@ -210,7 +210,7 @@ const UnicodeSet *getInclusionsForSource(UPropertySource src, UErrorCode &errorC
 void U_CALLCONV initIntPropInclusion(UProperty prop, UErrorCode &errorCode) {
 void U_CALLCONV initIntPropInclusion(UProperty prop, UErrorCode &errorCode) {
     // This function is invoked only via umtx_initOnce().
     // This function is invoked only via umtx_initOnce().
     U_ASSERT(UCHAR_INT_START <= prop && prop < UCHAR_INT_LIMIT);
     U_ASSERT(UCHAR_INT_START <= prop && prop < UCHAR_INT_LIMIT);
-    int32_t inclIndex = UPROPS_SRC_COUNT + prop - UCHAR_INT_START;
+    int32_t inclIndex = UPROPS_SRC_COUNT + (prop - UCHAR_INT_START);
     U_ASSERT(gInclusions[inclIndex].fSet == nullptr);
     U_ASSERT(gInclusions[inclIndex].fSet == nullptr);
     UPropertySource src = uprops_getSource(prop);
     UPropertySource src = uprops_getSource(prop);
     const UnicodeSet *incl = getInclusionsForSource(src, errorCode);
     const UnicodeSet *incl = getInclusionsForSource(src, errorCode);
@@ -255,7 +255,7 @@ const UnicodeSet *CharacterProperties::getInclusionsForProperty(
         UProperty prop, UErrorCode &errorCode) {
         UProperty prop, UErrorCode &errorCode) {
     if (U_FAILURE(errorCode)) { return nullptr; }
     if (U_FAILURE(errorCode)) { return nullptr; }
     if (UCHAR_INT_START <= prop && prop < UCHAR_INT_LIMIT) {
     if (UCHAR_INT_START <= prop && prop < UCHAR_INT_LIMIT) {
-        int32_t inclIndex = UPROPS_SRC_COUNT + prop - UCHAR_INT_START;
+        int32_t inclIndex = UPROPS_SRC_COUNT + (prop - UCHAR_INT_START);
         Inclusion &i = gInclusions[inclIndex];
         Inclusion &i = gInclusions[inclIndex];
         umtx_initOnce(i.fInitOnce, &initIntPropInclusion, prop, errorCode);
         umtx_initOnce(i.fInitOnce, &initIntPropInclusion, prop, errorCode);
         return i.fSet;
         return i.fSet;

+ 3 - 3
thirdparty/icu4c/common/charstr.cpp

@@ -220,7 +220,7 @@ UBool CharString::ensureCapacity(int32_t capacity,
                                  int32_t desiredCapacityHint,
                                  int32_t desiredCapacityHint,
                                  UErrorCode &errorCode) {
                                  UErrorCode &errorCode) {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     if(capacity>buffer.getCapacity()) {
     if(capacity>buffer.getCapacity()) {
         if(desiredCapacityHint==0) {
         if(desiredCapacityHint==0) {
@@ -230,10 +230,10 @@ UBool CharString::ensureCapacity(int32_t capacity,
             buffer.resize(capacity, len+1)==NULL
             buffer.resize(capacity, len+1)==NULL
         ) {
         ) {
             errorCode=U_MEMORY_ALLOCATION_ERROR;
             errorCode=U_MEMORY_ALLOCATION_ERROR;
-            return FALSE;
+            return false;
         }
         }
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 CharString &CharString::appendPathPart(StringPiece s, UErrorCode &errorCode) {
 CharString &CharString::appendPathPart(StringPiece s, UErrorCode &errorCode) {

+ 2 - 2
thirdparty/icu4c/common/charstr.h

@@ -177,8 +177,8 @@ private:
 
 
     UBool ensureCapacity(int32_t capacity, int32_t desiredCapacityHint, UErrorCode &errorCode);
     UBool ensureCapacity(int32_t capacity, int32_t desiredCapacityHint, UErrorCode &errorCode);
 
 
-    CharString(const CharString &other); // forbid copying of this class
-    CharString &operator=(const CharString &other); // forbid copying of this class
+    CharString(const CharString &other) = delete; // forbid copying of this class
+    CharString &operator=(const CharString &other) = delete; // forbid copying of this class
 
 
     /**
     /**
      * Returns U_FILE_ALT_SEP_CHAR if found in string, and U_FILE_SEP_CHAR is not found.
      * Returns U_FILE_ALT_SEP_CHAR if found in string, and U_FILE_SEP_CHAR is not found.

+ 1 - 1
thirdparty/icu4c/common/cmemory.cpp

@@ -134,5 +134,5 @@ U_CFUNC UBool cmemory_cleanup(void) {
     pAlloc     = NULL;
     pAlloc     = NULL;
     pRealloc   = NULL;
     pRealloc   = NULL;
     pFree      = NULL;
     pFree      = NULL;
-    return TRUE;
+    return true;
 }
 }

+ 2 - 2
thirdparty/icu4c/common/cstr.h

@@ -51,8 +51,8 @@ class U_COMMON_API CStr : public UMemory {
 
 
   private:
   private:
     CharString s;
     CharString s;
-    CStr(const CStr &other);               //  Forbid copying of this class.
-    CStr &operator =(const CStr &other);   //  Forbid assignment.
+    CStr(const CStr &other) = delete;               //  Forbid copying of this class.
+    CStr &operator =(const CStr &other) = delete;   //  Forbid assignment.
 };
 };
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END

+ 4 - 4
thirdparty/icu4c/common/dictbe.cpp

@@ -119,7 +119,7 @@ public:
     // Select the currently marked candidate, point after it in the text, and invalidate self
     // Select the currently marked candidate, point after it in the text, and invalidate self
     int32_t   acceptMarked( UText *text );
     int32_t   acceptMarked( UText *text );
   
   
-    // Back up from the current candidate to the next shorter one; return TRUE if that exists
+    // Back up from the current candidate to the next shorter one; return true if that exists
     // and point the text after it
     // and point the text after it
     UBool     backUp( UText *text );
     UBool     backUp( UText *text );
   
   
@@ -165,9 +165,9 @@ UBool
 PossibleWord::backUp( UText *text ) {
 PossibleWord::backUp( UText *text ) {
     if (current > 0) {
     if (current > 0) {
         utext_setNativeIndex(text, offset + cuLengths[--current]);
         utext_setNativeIndex(text, offset + cuLengths[--current]);
-        return TRUE;
+        return true;
     }
     }
-    return FALSE;
+    return false;
 }
 }
 
 
 /*
 /*
@@ -1146,7 +1146,7 @@ CjkBreakEngine::divideUpDictionaryRange( UText *inText,
 
 
         // Input UText is in one contiguous UTF-16 chunk.
         // Input UText is in one contiguous UTF-16 chunk.
         // Use Read-only aliasing UnicodeString.
         // Use Read-only aliasing UnicodeString.
-        inString.setTo(FALSE,
+        inString.setTo(false,
                        inText->chunkContents + rangeStart - inText->chunkNativeStart,
                        inText->chunkContents + rangeStart - inText->chunkNativeStart,
                        rangeEnd - rangeStart);
                        rangeEnd - rangeStart);
     } else {
     } else {

+ 32 - 32
thirdparty/icu4c/common/edits.cpp

@@ -221,7 +221,7 @@ UBool Edits::growArray() {
         // Not U_BUFFER_OVERFLOW_ERROR because that could be confused on a string transform API
         // Not U_BUFFER_OVERFLOW_ERROR because that could be confused on a string transform API
         // with a result-string-buffer overflow.
         // with a result-string-buffer overflow.
         errorCode_ = U_INDEX_OUTOFBOUNDS_ERROR;
         errorCode_ = U_INDEX_OUTOFBOUNDS_ERROR;
-        return FALSE;
+        return false;
     } else if (capacity >= (INT32_MAX / 2)) {
     } else if (capacity >= (INT32_MAX / 2)) {
         newCapacity = INT32_MAX;
         newCapacity = INT32_MAX;
     } else {
     } else {
@@ -230,25 +230,25 @@ UBool Edits::growArray() {
     // Grow by at least 5 units so that a maximal change record will fit.
     // Grow by at least 5 units so that a maximal change record will fit.
     if ((newCapacity - capacity) < 5) {
     if ((newCapacity - capacity) < 5) {
         errorCode_ = U_INDEX_OUTOFBOUNDS_ERROR;
         errorCode_ = U_INDEX_OUTOFBOUNDS_ERROR;
-        return FALSE;
+        return false;
     }
     }
     uint16_t *newArray = (uint16_t *)uprv_malloc((size_t)newCapacity * 2);
     uint16_t *newArray = (uint16_t *)uprv_malloc((size_t)newCapacity * 2);
     if (newArray == NULL) {
     if (newArray == NULL) {
         errorCode_ = U_MEMORY_ALLOCATION_ERROR;
         errorCode_ = U_MEMORY_ALLOCATION_ERROR;
-        return FALSE;
+        return false;
     }
     }
     uprv_memcpy(newArray, array, (size_t)length * 2);
     uprv_memcpy(newArray, array, (size_t)length * 2);
     releaseArray();
     releaseArray();
     array = newArray;
     array = newArray;
     capacity = newCapacity;
     capacity = newCapacity;
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool Edits::copyErrorTo(UErrorCode &outErrorCode) const {
 UBool Edits::copyErrorTo(UErrorCode &outErrorCode) const {
-    if (U_FAILURE(outErrorCode)) { return TRUE; }
-    if (U_SUCCESS(errorCode_)) { return FALSE; }
+    if (U_FAILURE(outErrorCode)) { return true; }
+    if (U_SUCCESS(errorCode_)) { return false; }
     outErrorCode = errorCode_;
     outErrorCode = errorCode_;
-    return TRUE;
+    return true;
 }
 }
 
 
 Edits &Edits::mergeAndAppend(const Edits &ab, const Edits &bc, UErrorCode &errorCode) {
 Edits &Edits::mergeAndAppend(const Edits &ab, const Edits &bc, UErrorCode &errorCode) {
@@ -257,7 +257,7 @@ Edits &Edits::mergeAndAppend(const Edits &ab, const Edits &bc, UErrorCode &error
     // Parallel iteration over both Edits.
     // Parallel iteration over both Edits.
     Iterator abIter = ab.getFineIterator();
     Iterator abIter = ab.getFineIterator();
     Iterator bcIter = bc.getFineIterator();
     Iterator bcIter = bc.getFineIterator();
-    UBool abHasNext = TRUE, bcHasNext = TRUE;
+    UBool abHasNext = true, bcHasNext = true;
     // Copy iterator state into local variables, so that we can modify and subdivide spans.
     // Copy iterator state into local variables, so that we can modify and subdivide spans.
     // ab old & new length, bc old & new length
     // ab old & new length, bc old & new length
     int32_t aLength = 0, ab_bLength = 0, bc_bLength = 0, cLength = 0;
     int32_t aLength = 0, ab_bLength = 0, bc_bLength = 0, cLength = 0;
@@ -400,7 +400,7 @@ Edits &Edits::mergeAndAppend(const Edits &ab, const Edits &bc, UErrorCode &error
 Edits::Iterator::Iterator(const uint16_t *a, int32_t len, UBool oc, UBool crs) :
 Edits::Iterator::Iterator(const uint16_t *a, int32_t len, UBool oc, UBool crs) :
         array(a), index(0), length(len), remaining(0),
         array(a), index(0), length(len), remaining(0),
         onlyChanges_(oc), coarse(crs),
         onlyChanges_(oc), coarse(crs),
-        dir(0), changed(FALSE), oldLength_(0), newLength_(0),
+        dir(0), changed(false), oldLength_(0), newLength_(0),
         srcIndex(0), replIndex(0), destIndex(0) {}
         srcIndex(0), replIndex(0), destIndex(0) {}
 
 
 int32_t Edits::Iterator::readLength(int32_t head) {
 int32_t Edits::Iterator::readLength(int32_t head) {
@@ -441,16 +441,16 @@ void Edits::Iterator::updatePreviousIndexes() {
 UBool Edits::Iterator::noNext() {
 UBool Edits::Iterator::noNext() {
     // No change before or beyond the string.
     // No change before or beyond the string.
     dir = 0;
     dir = 0;
-    changed = FALSE;
+    changed = false;
     oldLength_ = newLength_ = 0;
     oldLength_ = newLength_ = 0;
-    return FALSE;
+    return false;
 }
 }
 
 
 UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
 UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
     // Forward iteration: Update the string indexes to the limit of the current span,
     // Forward iteration: Update the string indexes to the limit of the current span,
     // and post-increment-read array units to assemble a new span.
     // and post-increment-read array units to assemble a new span.
     // Leaves the array index one after the last unit of that span.
     // Leaves the array index one after the last unit of that span.
-    if (U_FAILURE(errorCode)) { return FALSE; }
+    if (U_FAILURE(errorCode)) { return false; }
     // We have an errorCode in case we need to start guarding against integer overflows.
     // We have an errorCode in case we need to start guarding against integer overflows.
     // It is also convenient for caller loops if we bail out when an error was set elsewhere.
     // It is also convenient for caller loops if we bail out when an error was set elsewhere.
     if (dir > 0) {
     if (dir > 0) {
@@ -464,7 +464,7 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
                 // Stay on the current one of a sequence of compressed changes.
                 // Stay on the current one of a sequence of compressed changes.
                 ++index;  // next() rests on the index after the sequence unit.
                 ++index;  // next() rests on the index after the sequence unit.
                 dir = 1;
                 dir = 1;
-                return TRUE;
+                return true;
             }
             }
         }
         }
         dir = 1;
         dir = 1;
@@ -473,7 +473,7 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
         // Fine-grained iterator: Continue a sequence of compressed changes.
         // Fine-grained iterator: Continue a sequence of compressed changes.
         if (remaining > 1) {
         if (remaining > 1) {
             --remaining;
             --remaining;
-            return TRUE;
+            return true;
         }
         }
         remaining = 0;
         remaining = 0;
     }
     }
@@ -483,7 +483,7 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
     int32_t u = array[index++];
     int32_t u = array[index++];
     if (u <= MAX_UNCHANGED) {
     if (u <= MAX_UNCHANGED) {
         // Combine adjacent unchanged ranges.
         // Combine adjacent unchanged ranges.
-        changed = FALSE;
+        changed = false;
         oldLength_ = u + 1;
         oldLength_ = u + 1;
         while (index < length && (u = array[index]) <= MAX_UNCHANGED) {
         while (index < length && (u = array[index]) <= MAX_UNCHANGED) {
             ++index;
             ++index;
@@ -498,10 +498,10 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
             // already fetched u > MAX_UNCHANGED at index
             // already fetched u > MAX_UNCHANGED at index
             ++index;
             ++index;
         } else {
         } else {
-            return TRUE;
+            return true;
         }
         }
     }
     }
-    changed = TRUE;
+    changed = true;
     if (u <= MAX_SHORT_CHANGE) {
     if (u <= MAX_SHORT_CHANGE) {
         int32_t oldLen = u >> 12;
         int32_t oldLen = u >> 12;
         int32_t newLen = (u >> 9) & MAX_SHORT_CHANGE_NEW_LENGTH;
         int32_t newLen = (u >> 9) & MAX_SHORT_CHANGE_NEW_LENGTH;
@@ -516,14 +516,14 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
             if (num > 1) {
             if (num > 1) {
                 remaining = num;  // This is the first of two or more changes.
                 remaining = num;  // This is the first of two or more changes.
             }
             }
-            return TRUE;
+            return true;
         }
         }
     } else {
     } else {
         U_ASSERT(u <= 0x7fff);
         U_ASSERT(u <= 0x7fff);
         oldLength_ = readLength((u >> 6) & 0x3f);
         oldLength_ = readLength((u >> 6) & 0x3f);
         newLength_ = readLength(u & 0x3f);
         newLength_ = readLength(u & 0x3f);
         if (!coarse) {
         if (!coarse) {
-            return TRUE;
+            return true;
         }
         }
     }
     }
     // Combine adjacent changes.
     // Combine adjacent changes.
@@ -539,14 +539,14 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
             newLength_ += readLength(u & 0x3f);
             newLength_ += readLength(u & 0x3f);
         }
         }
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool Edits::Iterator::previous(UErrorCode &errorCode) {
 UBool Edits::Iterator::previous(UErrorCode &errorCode) {
     // Backward iteration: Pre-decrement-read array units to assemble a new span,
     // Backward iteration: Pre-decrement-read array units to assemble a new span,
     // then update the string indexes to the start of that span.
     // then update the string indexes to the start of that span.
     // Leaves the array index on the head unit of that span.
     // Leaves the array index on the head unit of that span.
-    if (U_FAILURE(errorCode)) { return FALSE; }
+    if (U_FAILURE(errorCode)) { return false; }
     // We have an errorCode in case we need to start guarding against integer overflows.
     // We have an errorCode in case we need to start guarding against integer overflows.
     // It is also convenient for caller loops if we bail out when an error was set elsewhere.
     // It is also convenient for caller loops if we bail out when an error was set elsewhere.
     if (dir >= 0) {
     if (dir >= 0) {
@@ -559,7 +559,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
                 // Stay on the current one of a sequence of compressed changes.
                 // Stay on the current one of a sequence of compressed changes.
                 --index;  // previous() rests on the sequence unit.
                 --index;  // previous() rests on the sequence unit.
                 dir = -1;
                 dir = -1;
-                return TRUE;
+                return true;
             }
             }
             updateNextIndexes();
             updateNextIndexes();
         }
         }
@@ -572,7 +572,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
         if (remaining <= (u & SHORT_CHANGE_NUM_MASK)) {
         if (remaining <= (u & SHORT_CHANGE_NUM_MASK)) {
             ++remaining;
             ++remaining;
             updatePreviousIndexes();
             updatePreviousIndexes();
-            return TRUE;
+            return true;
         }
         }
         remaining = 0;
         remaining = 0;
     }
     }
@@ -582,7 +582,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
     int32_t u = array[--index];
     int32_t u = array[--index];
     if (u <= MAX_UNCHANGED) {
     if (u <= MAX_UNCHANGED) {
         // Combine adjacent unchanged ranges.
         // Combine adjacent unchanged ranges.
-        changed = FALSE;
+        changed = false;
         oldLength_ = u + 1;
         oldLength_ = u + 1;
         while (index > 0 && (u = array[index - 1]) <= MAX_UNCHANGED) {
         while (index > 0 && (u = array[index - 1]) <= MAX_UNCHANGED) {
             --index;
             --index;
@@ -591,9 +591,9 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
         newLength_ = oldLength_;
         newLength_ = oldLength_;
         // No need to handle onlyChanges as long as previous() is called only from findIndex().
         // No need to handle onlyChanges as long as previous() is called only from findIndex().
         updatePreviousIndexes();
         updatePreviousIndexes();
-        return TRUE;
+        return true;
     }
     }
-    changed = TRUE;
+    changed = true;
     if (u <= MAX_SHORT_CHANGE) {
     if (u <= MAX_SHORT_CHANGE) {
         int32_t oldLen = u >> 12;
         int32_t oldLen = u >> 12;
         int32_t newLen = (u >> 9) & MAX_SHORT_CHANGE_NEW_LENGTH;
         int32_t newLen = (u >> 9) & MAX_SHORT_CHANGE_NEW_LENGTH;
@@ -609,7 +609,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
                 remaining = 1;  // This is the last of two or more changes.
                 remaining = 1;  // This is the last of two or more changes.
             }
             }
             updatePreviousIndexes();
             updatePreviousIndexes();
-            return TRUE;
+            return true;
         }
         }
     } else {
     } else {
         if (u <= 0x7fff) {
         if (u <= 0x7fff) {
@@ -629,7 +629,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
         }
         }
         if (!coarse) {
         if (!coarse) {
             updatePreviousIndexes();
             updatePreviousIndexes();
-            return TRUE;
+            return true;
         }
         }
     }
     }
     // Combine adjacent changes.
     // Combine adjacent changes.
@@ -648,7 +648,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
         }
         }
     }
     }
     updatePreviousIndexes();
     updatePreviousIndexes();
-    return TRUE;
+    return true;
 }
 }
 
 
 int32_t Edits::Iterator::findIndex(int32_t i, UBool findSource, UErrorCode &errorCode) {
 int32_t Edits::Iterator::findIndex(int32_t i, UBool findSource, UErrorCode &errorCode) {
@@ -705,7 +705,7 @@ int32_t Edits::Iterator::findIndex(int32_t i, UBool findSource, UErrorCode &erro
         // The index is in the current span.
         // The index is in the current span.
         return 0;
         return 0;
     }
     }
-    while (next(FALSE, errorCode)) {
+    while (next(false, errorCode)) {
         if (findSource) {
         if (findSource) {
             spanStart = srcIndex;
             spanStart = srcIndex;
             spanLength = oldLength_;
             spanLength = oldLength_;
@@ -739,7 +739,7 @@ int32_t Edits::Iterator::findIndex(int32_t i, UBool findSource, UErrorCode &erro
 }
 }
 
 
 int32_t Edits::Iterator::destinationIndexFromSourceIndex(int32_t i, UErrorCode &errorCode) {
 int32_t Edits::Iterator::destinationIndexFromSourceIndex(int32_t i, UErrorCode &errorCode) {
-    int32_t where = findIndex(i, TRUE, errorCode);
+    int32_t where = findIndex(i, true, errorCode);
     if (where < 0) {
     if (where < 0) {
         // Error or before the string.
         // Error or before the string.
         return 0;
         return 0;
@@ -758,7 +758,7 @@ int32_t Edits::Iterator::destinationIndexFromSourceIndex(int32_t i, UErrorCode &
 }
 }
 
 
 int32_t Edits::Iterator::sourceIndexFromDestinationIndex(int32_t i, UErrorCode &errorCode) {
 int32_t Edits::Iterator::sourceIndexFromDestinationIndex(int32_t i, UErrorCode &errorCode) {
-    int32_t where = findIndex(i, FALSE, errorCode);
+    int32_t where = findIndex(i, false, errorCode);
     if (where < 0) {
     if (where < 0) {
         // Error or before the string.
         // Error or before the string.
         return 0;
         return 0;

+ 1 - 1
thirdparty/icu4c/common/emojiprops.cpp

@@ -22,7 +22,7 @@ U_NAMESPACE_BEGIN
 namespace {
 namespace {
 
 
 EmojiProps *singleton = nullptr;
 EmojiProps *singleton = nullptr;
-icu::UInitOnce emojiInitOnce = U_INITONCE_INITIALIZER;
+icu::UInitOnce emojiInitOnce {};
 
 
 UBool U_CALLCONV emojiprops_cleanup() {
 UBool U_CALLCONV emojiprops_cleanup() {
     delete singleton;
     delete singleton;

+ 19 - 19
thirdparty/icu4c/common/filteredbrk.cpp

@@ -58,7 +58,7 @@ static int32_t U_CALLCONV compareUnicodeString(UElement t1, UElement t2) {
 /**
 /**
  * A UVector which implements a set of strings.
  * A UVector which implements a set of strings.
  */
  */
-class U_COMMON_API UStringSet : public UVector {
+class UStringSet : public UVector {
  public:
  public:
   UStringSet(UErrorCode &status) : UVector(uprv_deleteUObject,
   UStringSet(UErrorCode &status) : UVector(uprv_deleteUObject,
                                            uhash_compareUnicodeString,
                                            uhash_compareUnicodeString,
@@ -482,7 +482,7 @@ SimpleFilteredSentenceBreakIterator::last(void) {
 /**
 /**
  * Concrete implementation of builder class.
  * Concrete implementation of builder class.
  */
  */
-class U_COMMON_API SimpleFilteredBreakIteratorBuilder : public FilteredBreakIteratorBuilder {
+class SimpleFilteredBreakIteratorBuilder : public FilteredBreakIteratorBuilder {
 public:
 public:
   virtual ~SimpleFilteredBreakIteratorBuilder();
   virtual ~SimpleFilteredBreakIteratorBuilder();
   SimpleFilteredBreakIteratorBuilder(const Locale &fromLocale, UErrorCode &status);
   SimpleFilteredBreakIteratorBuilder(const Locale &fromLocale, UErrorCode &status);
@@ -614,11 +614,11 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
         i++) {
         i++) {
     const UnicodeString *abbr = fSet.getStringAt(i);
     const UnicodeString *abbr = fSet.getStringAt(i);
     if(abbr) {
     if(abbr) {
-      FB_TRACE("build",abbr,TRUE,i);
+      FB_TRACE("build",abbr,true,i);
       ustrs[n] = *abbr; // copy by value
       ustrs[n] = *abbr; // copy by value
-      FB_TRACE("ustrs[n]",&ustrs[n],TRUE,i);
+      FB_TRACE("ustrs[n]",&ustrs[n],true,i);
     } else {
     } else {
-      FB_TRACE("build",abbr,FALSE,i);
+      FB_TRACE("build",abbr,false,i);
       status = U_MEMORY_ALLOCATION_ERROR;
       status = U_MEMORY_ALLOCATION_ERROR;
       return NULL;
       return NULL;
     }
     }
@@ -629,37 +629,37 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
   for(int i=0;i<subCount;i++) {
   for(int i=0;i<subCount;i++) {
     int nn = ustrs[i].indexOf(kFULLSTOP); // TODO: non-'.' abbreviations
     int nn = ustrs[i].indexOf(kFULLSTOP); // TODO: non-'.' abbreviations
     if(nn>-1 && (nn+1)!=ustrs[i].length()) {
     if(nn>-1 && (nn+1)!=ustrs[i].length()) {
-      FB_TRACE("partial",&ustrs[i],FALSE,i);
+      FB_TRACE("partial",&ustrs[i],false,i);
       // is partial.
       // is partial.
       // is it unique?
       // is it unique?
       int sameAs = -1;
       int sameAs = -1;
       for(int j=0;j<subCount;j++) {
       for(int j=0;j<subCount;j++) {
         if(j==i) continue;
         if(j==i) continue;
         if(ustrs[i].compare(0,nn+1,ustrs[j],0,nn+1)==0) {
         if(ustrs[i].compare(0,nn+1,ustrs[j],0,nn+1)==0) {
-          FB_TRACE("prefix",&ustrs[j],FALSE,nn+1);
+          FB_TRACE("prefix",&ustrs[j],false,nn+1);
           //UBool otherIsPartial = ((nn+1)!=ustrs[j].length());  // true if ustrs[j] doesn't end at nn
           //UBool otherIsPartial = ((nn+1)!=ustrs[j].length());  // true if ustrs[j] doesn't end at nn
           if(partials[j]==0) { // hasn't been processed yet
           if(partials[j]==0) { // hasn't been processed yet
             partials[j] = kSuppressInReverse | kAddToForward;
             partials[j] = kSuppressInReverse | kAddToForward;
-            FB_TRACE("suppressing",&ustrs[j],FALSE,j);
+            FB_TRACE("suppressing",&ustrs[j],false,j);
           } else if(partials[j] & kSuppressInReverse) {
           } else if(partials[j] & kSuppressInReverse) {
             sameAs = j; // the other entry is already in the reverse table.
             sameAs = j; // the other entry is already in the reverse table.
           }
           }
         }
         }
       }
       }
-      FB_TRACE("for partial same-",&ustrs[i],FALSE,sameAs);
-      FB_TRACE(" == partial #",&ustrs[i],FALSE,partials[i]);
+      FB_TRACE("for partial same-",&ustrs[i],false,sameAs);
+      FB_TRACE(" == partial #",&ustrs[i],false,partials[i]);
       UnicodeString prefix(ustrs[i], 0, nn+1);
       UnicodeString prefix(ustrs[i], 0, nn+1);
       if(sameAs == -1 && partials[i] == 0) {
       if(sameAs == -1 && partials[i] == 0) {
         // first one - add the prefix to the reverse table.
         // first one - add the prefix to the reverse table.
         prefix.reverse();
         prefix.reverse();
         builder->add(prefix, kPARTIAL, status);
         builder->add(prefix, kPARTIAL, status);
         revCount++;
         revCount++;
-        FB_TRACE("Added partial",&prefix,FALSE, i);
-        FB_TRACE(u_errorName(status),&ustrs[i],FALSE,i);
+        FB_TRACE("Added partial",&prefix,false, i);
+        FB_TRACE(u_errorName(status),&ustrs[i],false,i);
         partials[i] = kSuppressInReverse | kAddToForward;
         partials[i] = kSuppressInReverse | kAddToForward;
       } else {
       } else {
-        FB_TRACE("NOT adding partial",&prefix,FALSE, i);
-        FB_TRACE(u_errorName(status),&ustrs[i],FALSE,i);
+        FB_TRACE("NOT adding partial",&prefix,false, i);
+        FB_TRACE(u_errorName(status),&ustrs[i],false,i);
       }
       }
     }
     }
   }
   }
@@ -668,9 +668,9 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
       ustrs[i].reverse();
       ustrs[i].reverse();
       builder->add(ustrs[i], kMATCH, status);
       builder->add(ustrs[i], kMATCH, status);
       revCount++;
       revCount++;
-      FB_TRACE(u_errorName(status), &ustrs[i], FALSE, i);
+      FB_TRACE(u_errorName(status), &ustrs[i], false, i);
     } else {
     } else {
-      FB_TRACE("Adding fwd",&ustrs[i], FALSE, i);
+      FB_TRACE("Adding fwd",&ustrs[i], false, i);
 
 
       // an optimization would be to only add the portion after the '.'
       // an optimization would be to only add the portion after the '.'
       // for example, for "Ph.D." we store ".hP" in the reverse table. We could just store "D." in the forward,
       // for example, for "Ph.D." we store ".hP" in the reverse table. We could just store "D." in the forward,
@@ -682,12 +682,12 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
       ////if(debug2) u_printf("SUPPRESS- not Added(%d):  /%S/ status=%s\n",partials[i], ustrs[i].getTerminatedBuffer(), u_errorName(status));
       ////if(debug2) u_printf("SUPPRESS- not Added(%d):  /%S/ status=%s\n",partials[i], ustrs[i].getTerminatedBuffer(), u_errorName(status));
     }
     }
   }
   }
-  FB_TRACE("AbbrCount",NULL,FALSE, subCount);
+  FB_TRACE("AbbrCount",NULL,false, subCount);
 
 
   if(revCount>0) {
   if(revCount>0) {
     backwardsTrie.adoptInstead(builder->build(USTRINGTRIE_BUILD_FAST, status));
     backwardsTrie.adoptInstead(builder->build(USTRINGTRIE_BUILD_FAST, status));
     if(U_FAILURE(status)) {
     if(U_FAILURE(status)) {
-      FB_TRACE(u_errorName(status),NULL,FALSE, -1);
+      FB_TRACE(u_errorName(status),NULL,false, -1);
       return NULL;
       return NULL;
     }
     }
   }
   }
@@ -695,7 +695,7 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
   if(fwdCount>0) {
   if(fwdCount>0) {
     forwardsPartialTrie.adoptInstead(builder2->build(USTRINGTRIE_BUILD_FAST, status));
     forwardsPartialTrie.adoptInstead(builder2->build(USTRINGTRIE_BUILD_FAST, status));
     if(U_FAILURE(status)) {
     if(U_FAILURE(status)) {
-      FB_TRACE(u_errorName(status),NULL,FALSE, -1);
+      FB_TRACE(u_errorName(status),NULL,false, -1);
       return NULL;
       return NULL;
     }
     }
   }
   }

+ 8 - 8
thirdparty/icu4c/common/filterednormalizer2.cpp

@@ -137,14 +137,14 @@ UnicodeString &
 FilteredNormalizer2::normalizeSecondAndAppend(UnicodeString &first,
 FilteredNormalizer2::normalizeSecondAndAppend(UnicodeString &first,
                                               const UnicodeString &second,
                                               const UnicodeString &second,
                                               UErrorCode &errorCode) const {
                                               UErrorCode &errorCode) const {
-    return normalizeSecondAndAppend(first, second, TRUE, errorCode);
+    return normalizeSecondAndAppend(first, second, true, errorCode);
 }
 }
 
 
 UnicodeString &
 UnicodeString &
 FilteredNormalizer2::append(UnicodeString &first,
 FilteredNormalizer2::append(UnicodeString &first,
                             const UnicodeString &second,
                             const UnicodeString &second,
                             UErrorCode &errorCode) const {
                             UErrorCode &errorCode) const {
-    return normalizeSecondAndAppend(first, second, FALSE, errorCode);
+    return normalizeSecondAndAppend(first, second, false, errorCode);
 }
 }
 
 
 UnicodeString &
 UnicodeString &
@@ -224,7 +224,7 @@ UBool
 FilteredNormalizer2::isNormalized(const UnicodeString &s, UErrorCode &errorCode) const {
 FilteredNormalizer2::isNormalized(const UnicodeString &s, UErrorCode &errorCode) const {
     uprv_checkCanGetBuffer(s, errorCode);
     uprv_checkCanGetBuffer(s, errorCode);
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     USetSpanCondition spanCondition=USET_SPAN_SIMPLE;
     USetSpanCondition spanCondition=USET_SPAN_SIMPLE;
     for(int32_t prevSpanLimit=0; prevSpanLimit<s.length();) {
     for(int32_t prevSpanLimit=0; prevSpanLimit<s.length();) {
@@ -235,19 +235,19 @@ FilteredNormalizer2::isNormalized(const UnicodeString &s, UErrorCode &errorCode)
             if( !norm2.isNormalized(s.tempSubStringBetween(prevSpanLimit, spanLimit), errorCode) ||
             if( !norm2.isNormalized(s.tempSubStringBetween(prevSpanLimit, spanLimit), errorCode) ||
                 U_FAILURE(errorCode)
                 U_FAILURE(errorCode)
             ) {
             ) {
-                return FALSE;
+                return false;
             }
             }
             spanCondition=USET_SPAN_NOT_CONTAINED;
             spanCondition=USET_SPAN_NOT_CONTAINED;
         }
         }
         prevSpanLimit=spanLimit;
         prevSpanLimit=spanLimit;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool
 UBool
 FilteredNormalizer2::isNormalizedUTF8(StringPiece sp, UErrorCode &errorCode) const {
 FilteredNormalizer2::isNormalizedUTF8(StringPiece sp, UErrorCode &errorCode) const {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     const char *s = sp.data();
     const char *s = sp.data();
     int32_t length = sp.length();
     int32_t length = sp.length();
@@ -259,14 +259,14 @@ FilteredNormalizer2::isNormalizedUTF8(StringPiece sp, UErrorCode &errorCode) con
         } else {
         } else {
             if (!norm2.isNormalizedUTF8(StringPiece(s, spanLength), errorCode) ||
             if (!norm2.isNormalizedUTF8(StringPiece(s, spanLength), errorCode) ||
                     U_FAILURE(errorCode)) {
                     U_FAILURE(errorCode)) {
-                return FALSE;
+                return false;
             }
             }
             spanCondition = USET_SPAN_NOT_CONTAINED;
             spanCondition = USET_SPAN_NOT_CONTAINED;
         }
         }
         s += spanLength;
         s += spanLength;
         length -= spanLength;
         length -= spanLength;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 UNormalizationCheckResult
 UNormalizationCheckResult

+ 2 - 2
thirdparty/icu4c/common/hash.h

@@ -115,8 +115,8 @@ public:
 
 
     inline UBool equals(const Hashtable& that) const;
     inline UBool equals(const Hashtable& that) const;
 private:
 private:
-    Hashtable(const Hashtable &other); // forbid copying of this class
-    Hashtable &operator=(const Hashtable &other); // forbid copying of this class
+    Hashtable(const Hashtable &other) = delete; // forbid copying of this class
+    Hashtable &operator=(const Hashtable &other) = delete; // forbid copying of this class
 };
 };
 
 
 /*********************************************************************
 /*********************************************************************

+ 14 - 14
thirdparty/icu4c/common/icuplug.cpp

@@ -59,8 +59,8 @@ struct UPlugData {
   void *context;          /**< user context data */
   void *context;          /**< user context data */
   char name[UPLUG_NAME_MAX];   /**< name of plugin */
   char name[UPLUG_NAME_MAX];   /**< name of plugin */
   UPlugLevel  level; /**< level of plugin */
   UPlugLevel  level; /**< level of plugin */
-  UBool   awaitingLoad; /**< TRUE if the plugin is awaiting a load call */
-  UBool   dontUnload; /**< TRUE if plugin must stay resident (leak plugin and lib) */
+  UBool   awaitingLoad; /**< true if the plugin is awaiting a load call */
+  UBool   dontUnload; /**< true if plugin must stay resident (leak plugin and lib) */
   UErrorCode pluginStatus; /**< status code of plugin */
   UErrorCode pluginStatus; /**< status code of plugin */
 };
 };
 
 
@@ -304,11 +304,11 @@ static void uplug_queryPlug(UPlugData *plug, UErrorCode *status) {
   if(U_SUCCESS(*status)) { 
   if(U_SUCCESS(*status)) { 
     if(plug->level == UPLUG_LEVEL_INVALID) {
     if(plug->level == UPLUG_LEVEL_INVALID) {
       plug->pluginStatus = U_PLUGIN_DIDNT_SET_LEVEL;
       plug->pluginStatus = U_PLUGIN_DIDNT_SET_LEVEL;
-      plug->awaitingLoad = FALSE;
+      plug->awaitingLoad = false;
     }
     }
   } else {
   } else {
     plug->pluginStatus = U_INTERNAL_PROGRAM_ERROR;
     plug->pluginStatus = U_INTERNAL_PROGRAM_ERROR;
-    plug->awaitingLoad = FALSE;
+    plug->awaitingLoad = false;
   }
   }
 }
 }
 
 
@@ -322,7 +322,7 @@ static void uplug_loadPlug(UPlugData *plug, UErrorCode *status) {
     return;
     return;
   }
   }
   uplug_callPlug(plug, UPLUG_REASON_LOAD, status);
   uplug_callPlug(plug, UPLUG_REASON_LOAD, status);
-  plug->awaitingLoad = FALSE;
+  plug->awaitingLoad = false;
   if(!U_SUCCESS(*status)) {
   if(!U_SUCCESS(*status)) {
     plug->pluginStatus = U_INTERNAL_PROGRAM_ERROR;
     plug->pluginStatus = U_INTERNAL_PROGRAM_ERROR;
   }
   }
@@ -347,8 +347,8 @@ static UPlugData *uplug_allocateEmptyPlug(UErrorCode *status)
   plug->structSize = sizeof(UPlugData);
   plug->structSize = sizeof(UPlugData);
   plug->name[0]=0;
   plug->name[0]=0;
   plug->level = UPLUG_LEVEL_UNKNOWN; /* initialize to null state */
   plug->level = UPLUG_LEVEL_UNKNOWN; /* initialize to null state */
-  plug->awaitingLoad = TRUE;
-  plug->dontUnload = FALSE;
+  plug->awaitingLoad = true;
+  plug->dontUnload = false;
   plug->pluginStatus = U_ZERO_ERROR;
   plug->pluginStatus = U_ZERO_ERROR;
   plug->libName[0] = 0;
   plug->libName[0] = 0;
   plug->config[0]=0;
   plug->config[0]=0;
@@ -403,9 +403,9 @@ static void uplug_deallocatePlug(UPlugData *plug, UErrorCode *status) {
     pluginCount = uplug_removeEntryAt(pluginList, pluginCount, sizeof(plug[0]), uplug_pluginNumber(plug));
     pluginCount = uplug_removeEntryAt(pluginList, pluginCount, sizeof(plug[0]), uplug_pluginNumber(plug));
   } else {
   } else {
     /* not ok- leave as a message. */
     /* not ok- leave as a message. */
-    plug->awaitingLoad=FALSE;
+    plug->awaitingLoad=false;
     plug->entrypoint=0;
     plug->entrypoint=0;
-    plug->dontUnload=TRUE;
+    plug->dontUnload=true;
   }
   }
 }
 }
 
 
@@ -558,8 +558,8 @@ uplug_initErrorPlug(const char *libName, const char *sym, const char *config, co
   if(U_FAILURE(*status)) return NULL;
   if(U_FAILURE(*status)) return NULL;
 
 
   plug->pluginStatus = loadStatus;
   plug->pluginStatus = loadStatus;
-  plug->awaitingLoad = FALSE; /* Won't load. */
-  plug->dontUnload = TRUE; /* cannot unload. */
+  plug->awaitingLoad = false; /* Won't load. */
+  plug->dontUnload = true; /* cannot unload. */
 
 
   if(sym!=NULL) {
   if(sym!=NULL) {
     uprv_strncpy(plug->sym, sym, UPLUG_NAME_MAX);
     uprv_strncpy(plug->sym, sym, UPLUG_NAME_MAX);
@@ -646,7 +646,7 @@ static UBool U_CALLCONV uplug_cleanup(void)
   }
   }
   /* close other held libs? */
   /* close other held libs? */
   gCurrentLevel = UPLUG_LEVEL_LOW;
   gCurrentLevel = UPLUG_LEVEL_LOW;
-  return TRUE;
+  return true;
 }
 }
 
 
 #if U_ENABLE_DYLOAD
 #if U_ENABLE_DYLOAD
@@ -678,7 +678,7 @@ static void uplug_loadWaitingPlugs(UErrorCode *status) {
             currentLevel = newLevel;
             currentLevel = newLevel;
           }
           }
         }
         }
-        pluginToLoad->awaitingLoad = FALSE;
+        pluginToLoad->awaitingLoad = false;
       } 
       } 
     }
     }
   }    
   }    
@@ -694,7 +694,7 @@ static void uplug_loadWaitingPlugs(UErrorCode *status) {
       } else {
       } else {
         uplug_loadPlug(pluginToLoad, &subStatus);
         uplug_loadPlug(pluginToLoad, &subStatus);
       }
       }
-      pluginToLoad->awaitingLoad = FALSE;
+      pluginToLoad->awaitingLoad = false;
     }
     }
   }
   }
     
     

+ 6 - 6
thirdparty/icu4c/common/loadednormalizer2impl.cpp

@@ -67,9 +67,9 @@ LoadedNormalizer2Impl::isAcceptable(void * /*context*/,
     ) {
     ) {
         // Normalizer2Impl *me=(Normalizer2Impl *)context;
         // Normalizer2Impl *me=(Normalizer2Impl *)context;
         // uprv_memcpy(me->dataVersion, pInfo->dataVersion, 4);
         // uprv_memcpy(me->dataVersion, pInfo->dataVersion, 4);
-        return TRUE;
+        return true;
     } else {
     } else {
-        return FALSE;
+        return false;
     }
     }
 }
 }
 
 
@@ -134,14 +134,14 @@ U_CDECL_END
 
 
 #if !NORM2_HARDCODE_NFC_DATA
 #if !NORM2_HARDCODE_NFC_DATA
 static Norm2AllModes *nfcSingleton;
 static Norm2AllModes *nfcSingleton;
-static icu::UInitOnce nfcInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce nfcInitOnce {};
 #endif
 #endif
 
 
 static Norm2AllModes *nfkcSingleton;
 static Norm2AllModes *nfkcSingleton;
-static icu::UInitOnce nfkcInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce nfkcInitOnce {};
 
 
 static Norm2AllModes *nfkc_cfSingleton;
 static Norm2AllModes *nfkc_cfSingleton;
-static icu::UInitOnce nfkc_cfInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce nfkc_cfInitOnce {};
 
 
 static UHashtable    *cache=NULL;
 static UHashtable    *cache=NULL;
 
 
@@ -185,7 +185,7 @@ static UBool U_CALLCONV uprv_loaded_normalizer2_cleanup() {
 
 
     uhash_close(cache);
     uhash_close(cache);
     cache=NULL;
     cache=NULL;
-    return TRUE;
+    return true;
 }
 }
 
 
 U_CDECL_END
 U_CDECL_END

+ 2 - 2
thirdparty/icu4c/common/localebuilder.cpp

@@ -15,7 +15,7 @@ U_NAMESPACE_BEGIN
 #define UPRV_ISDIGIT(c) (((c) >= '0') && ((c) <= '9'))
 #define UPRV_ISDIGIT(c) (((c) >= '0') && ((c) <= '9'))
 #define UPRV_ISALPHANUM(c) (uprv_isASCIILetter(c) || UPRV_ISDIGIT(c) )
 #define UPRV_ISALPHANUM(c) (uprv_isASCIILetter(c) || UPRV_ISDIGIT(c) )
 
 
-const char* kAttributeKey = "attribute";
+constexpr const char* kAttributeKey = "attribute";
 
 
 static bool _isExtensionSubtags(char key, const char* s, int32_t len) {
 static bool _isExtensionSubtags(char key, const char* s, int32_t len) {
     switch (uprv_tolower(key)) {
     switch (uprv_tolower(key)) {
@@ -459,7 +459,7 @@ Locale LocaleBuilder::build(UErrorCode& errorCode)
 UBool LocaleBuilder::copyErrorTo(UErrorCode &outErrorCode) const {
 UBool LocaleBuilder::copyErrorTo(UErrorCode &outErrorCode) const {
     if (U_FAILURE(outErrorCode)) {
     if (U_FAILURE(outErrorCode)) {
         // Do not overwrite the older error code
         // Do not overwrite the older error code
-        return TRUE;
+        return true;
     }
     }
     outErrorCode = status_;
     outErrorCode = status_;
     return U_FAILURE(outErrorCode);
     return U_FAILURE(outErrorCode);

+ 632 - 0
thirdparty/icu4c/common/localefallback_data.h

@@ -0,0 +1,632 @@
+// © 2022 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+//
+// Internal static data tables used by uresbund.cpp
+// WARNING: This file is mechanically generated by the CLDR-to-ICU tool
+// (see tools/cldr/cldr-to-icu/src/main/java/org/unicode/tool/cldrtoicu/generator/ResourcFallbackCodeGenerator.java).
+// DO NOT HAND EDIT!!!
+
+#ifdef INCLUDED_FROM_URESBUND_CPP
+
+//======================================================================
+// Default script table
+const char scriptCodeChars[] =
+    "Aghb\0Ahom\0Arab\0Armi\0Armn\0Avst\0Bamu\0Bass\0Beng\0Brah\0Cakm\0"
+    "Cans\0Cari\0Cham\0Cher\0Chrs\0Copt\0Cprt\0Cyrl\0Deva\0Egyp\0Ethi\0"
+    "Geor\0Gong\0Gonm\0Goth\0Grek\0Gujr\0Guru\0Hans\0Hant\0Hebr\0Hluw\0"
+    "Hmnp\0Ital\0Jpan\0Kali\0Kana\0Kawi\0Khar\0Khmr\0Kits\0Knda\0Kore\0"
+    "Lana\0Laoo\0Lepc\0Lina\0Lisu\0Lyci\0Lydi\0Mand\0Mani\0Medf\0Merc\0"
+    "Mlym\0Mong\0Mroo\0Mymr\0Narb\0Nkoo\0Nshu\0Ogam\0Olck\0Orkh\0Orya\0"
+    "Osge\0Ougr\0Pauc\0Phli\0Phnx\0Plrd\0Prti\0Rohg\0Runr\0Samr\0Sarb\0"
+    "Saur\0Sgnw\0Sinh\0Sogd\0Sora\0Soyo\0Syrc\0Tale\0Talu\0Taml\0Tang\0"
+    "Tavt\0Telu\0Tfng\0Thaa\0Thai\0Tibt\0Tnsa\0Toto\0Ugar\0Vaii\0Wcho\0"
+    "Xpeo\0Xsux\0Yiii\0";
+
+const char dsLocaleIDChars[] =
+    "ab\0abq\0adp\0ady\0ae\0aeb\0aho\0ajt\0akk\0alt\0am\0apc\0apd\0"
+    "ar\0arc\0arq\0ars\0ary\0arz\0as\0ase\0av\0avl\0awa\0az_IQ\0az_IR\0"
+    "az_RU\0ba\0bal\0bap\0bax\0bcq\0be\0bej\0bfq\0bft\0bfy\0bg\0bgc\0"
+    "bgn\0bgx\0bhb\0bhi\0bho\0bji\0bjj\0blt\0bn\0bo\0bpy\0bqi\0bra\0"
+    "brh\0brx\0bsq\0bst\0btv\0bua\0byn\0ccp\0ce\0chm\0chr\0cja\0cjm\0"
+    "ckb\0cmg\0cop\0cr\0crh\0crk\0crl\0csw\0ctd\0cu\0cv\0dar\0dcc\0"
+    "dgl\0dmf\0doi\0drh\0drs\0dty\0dv\0dz\0egy\0eky\0el\0esg\0ett\0"
+    "fa\0fia\0fub\0gan\0gbm\0gbz\0gez\0ggn\0gjk\0gju\0glk\0gmv\0gof\0"
+    "gom\0gon\0got\0grc\0grt\0gu\0gvr\0gwc\0gwt\0ha_CM\0ha_SD\0hak\0"
+    "haz\0hdy\0he\0hi\0hlu\0hmd\0hnd\0hne\0hnj\0hno\0hoc\0hoj\0hsn\0"
+    "hy\0ii\0inh\0iu\0iw\0ja\0ji\0jml\0ka\0kaa\0kaw\0kbd\0kby\0kdt\0"
+    "kfr\0kfy\0khb\0khn\0kht\0khw\0kjg\0kk\0kk_AF\0kk_CN\0kk_IR\0kk_MN\0"
+    "km\0kn\0ko\0koi\0kok\0kqy\0krc\0kru\0ks\0ktb\0ku_LB\0kum\0kv\0"
+    "kvx\0kxc\0kxl\0kxm\0kxp\0ky\0ky_CN\0kzh\0lab\0lad\0lah\0lbe\0"
+    "lcp\0lep\0lez\0lif\0lis\0lki\0lmn\0lo\0lrc\0luz\0lwl\0lzh\0mag\0"
+    "mai\0man_GN\0mde\0mdf\0mdx\0mfa\0mgp\0mk\0mki\0ml\0mn\0mn_CN\0"
+    "mni\0mnw\0mr\0mrd\0mrj\0mro\0ms_CC\0mtr\0mvy\0mwr\0mww\0my\0mym\0"
+    "myv\0myz\0mzn\0nan\0ne\0new\0nnp\0nod\0noe\0non\0nqo\0nsk\0nst\0"
+    "oj\0ojs\0or\0oru\0os\0osa\0ota\0otk\0oui\0pa\0pa_PK\0pal\0peo\0"
+    "phl\0phn\0pka\0pnt\0ppa\0pra\0prd\0ps\0raj\0rhg\0rif\0rjs\0rkt\0"
+    "rmt\0ru\0rue\0ryu\0sa\0sah\0sat\0saz\0sck\0scl\0sd\0sd_IN\0sdh\0"
+    "sga\0sgw\0shi\0shn\0shu\0si\0skr\0smp\0sog\0sou\0sr\0srb\0srx\0"
+    "swb\0swv\0syl\0syr\0ta\0taj\0tcy\0tdd\0tdg\0tdh\0te\0tg\0tg_PK\0"
+    "th\0thl\0thq\0thr\0ti\0tig\0tkt\0trw\0tsd\0tsf\0tsj\0tt\0tts\0"
+    "txg\0txo\0tyv\0udi\0udm\0ug\0ug_KZ\0ug_MN\0uga\0uk\0unr\0unr_NP\0"
+    "unx\0ur\0uz_AF\0uz_CN\0vai\0wal\0wbq\0wbr\0wni\0wsg\0wtm\0wuu\0"
+    "xco\0xcr\0xlc\0xld\0xmf\0xmn\0xmr\0xna\0xnr\0xpr\0xsa\0xsr\0yi\0"
+    "yue\0yue_CN\0zdj\0zgh\0zh\0zh_AU\0zh_BN\0zh_GB\0zh_GF\0zh_HK\0"
+    "zh_ID\0zh_MO\0zh_PA\0zh_PF\0zh_PH\0zh_SR\0zh_TH\0zh_TW\0zh_US\0"
+    "zh_VN\0zhx\0zkt\0";
+
+const int32_t defaultScriptTable[] = {
+    0, 90,  // ab -> Cyrl
+    3, 90,  // abq -> Cyrl
+    7, 465,  // adp -> Tibt
+    11, 90,  // ady -> Cyrl
+    15, 25,  // ae -> Avst
+    18, 10,  // aeb -> Arab
+    22, 5,  // aho -> Ahom
+    26, 10,  // ajt -> Arab
+    30, 500,  // akk -> Xsux
+    34, 90,  // alt -> Cyrl
+    38, 105,  // am -> Ethi
+    41, 10,  // apc -> Arab
+    45, 10,  // apd -> Arab
+    49, 10,  // ar -> Arab
+    52, 15,  // arc -> Armi
+    56, 10,  // arq -> Arab
+    60, 10,  // ars -> Arab
+    64, 10,  // ary -> Arab
+    68, 10,  // arz -> Arab
+    72, 40,  // as -> Beng
+    75, 390,  // ase -> Sgnw
+    79, 90,  // av -> Cyrl
+    82, 10,  // avl -> Arab
+    86, 95,  // awa -> Deva
+    90, 10,  // az_IQ -> Arab
+    96, 10,  // az_IR -> Arab
+    102, 90,  // az_RU -> Cyrl
+    108, 90,  // ba -> Cyrl
+    111, 10,  // bal -> Arab
+    115, 95,  // bap -> Deva
+    119, 30,  // bax -> Bamu
+    123, 105,  // bcq -> Ethi
+    127, 90,  // be -> Cyrl
+    130, 10,  // bej -> Arab
+    134, 430,  // bfq -> Taml
+    138, 10,  // bft -> Arab
+    142, 95,  // bfy -> Deva
+    146, 90,  // bg -> Cyrl
+    149, 95,  // bgc -> Deva
+    153, 10,  // bgn -> Arab
+    157, 130,  // bgx -> Grek
+    161, 95,  // bhb -> Deva
+    165, 95,  // bhi -> Deva
+    169, 95,  // bho -> Deva
+    173, 105,  // bji -> Ethi
+    177, 95,  // bjj -> Deva
+    181, 440,  // blt -> Tavt
+    185, 40,  // bn -> Beng
+    188, 465,  // bo -> Tibt
+    191, 40,  // bpy -> Beng
+    195, 10,  // bqi -> Arab
+    199, 95,  // bra -> Deva
+    203, 10,  // brh -> Arab
+    207, 95,  // brx -> Deva
+    211, 35,  // bsq -> Bass
+    215, 105,  // bst -> Ethi
+    219, 95,  // btv -> Deva
+    223, 90,  // bua -> Cyrl
+    227, 105,  // byn -> Ethi
+    231, 50,  // ccp -> Cakm
+    235, 90,  // ce -> Cyrl
+    238, 90,  // chm -> Cyrl
+    242, 70,  // chr -> Cher
+    246, 10,  // cja -> Arab
+    250, 65,  // cjm -> Cham
+    254, 10,  // ckb -> Arab
+    258, 410,  // cmg -> Soyo
+    262, 80,  // cop -> Copt
+    266, 55,  // cr -> Cans
+    269, 90,  // crh -> Cyrl
+    273, 55,  // crk -> Cans
+    277, 55,  // crl -> Cans
+    281, 55,  // csw -> Cans
+    285, 340,  // ctd -> Pauc
+    289, 90,  // cu -> Cyrl
+    292, 90,  // cv -> Cyrl
+    295, 90,  // dar -> Cyrl
+    299, 10,  // dcc -> Arab
+    303, 10,  // dgl -> Arab
+    307, 265,  // dmf -> Medf
+    311, 95,  // doi -> Deva
+    315, 280,  // drh -> Mong
+    319, 105,  // drs -> Ethi
+    323, 95,  // dty -> Deva
+    327, 455,  // dv -> Thaa
+    330, 465,  // dz -> Tibt
+    333, 100,  // egy -> Egyp
+    337, 180,  // eky -> Kali
+    341, 130,  // el -> Grek
+    344, 120,  // esg -> Gonm
+    348, 170,  // ett -> Ital
+    352, 10,  // fa -> Arab
+    355, 10,  // fia -> Arab
+    359, 10,  // fub -> Arab
+    363, 145,  // gan -> Hans
+    367, 95,  // gbm -> Deva
+    371, 10,  // gbz -> Arab
+    375, 105,  // gez -> Ethi
+    379, 95,  // ggn -> Deva
+    383, 10,  // gjk -> Arab
+    387, 10,  // gju -> Arab
+    391, 10,  // glk -> Arab
+    395, 105,  // gmv -> Ethi
+    399, 105,  // gof -> Ethi
+    403, 95,  // gom -> Deva
+    407, 445,  // gon -> Telu
+    411, 125,  // got -> Goth
+    415, 85,  // grc -> Cprt
+    419, 40,  // grt -> Beng
+    423, 135,  // gu -> Gujr
+    426, 95,  // gvr -> Deva
+    430, 10,  // gwc -> Arab
+    434, 10,  // gwt -> Arab
+    438, 10,  // ha_CM -> Arab
+    444, 10,  // ha_SD -> Arab
+    450, 145,  // hak -> Hans
+    454, 10,  // haz -> Arab
+    458, 105,  // hdy -> Ethi
+    462, 155,  // he -> Hebr
+    465, 95,  // hi -> Deva
+    468, 160,  // hlu -> Hluw
+    472, 355,  // hmd -> Plrd
+    476, 10,  // hnd -> Arab
+    480, 95,  // hne -> Deva
+    484, 165,  // hnj -> Hmnp
+    488, 10,  // hno -> Arab
+    492, 95,  // hoc -> Deva
+    496, 95,  // hoj -> Deva
+    500, 145,  // hsn -> Hans
+    504, 20,  // hy -> Armn
+    507, 505,  // ii -> Yiii
+    510, 90,  // inh -> Cyrl
+    514, 55,  // iu -> Cans
+    517, 155,  // iw -> Hebr
+    520, 175,  // ja -> Jpan
+    523, 155,  // ji -> Hebr
+    526, 95,  // jml -> Deva
+    530, 110,  // ka -> Geor
+    533, 90,  // kaa -> Cyrl
+    537, 190,  // kaw -> Kawi
+    541, 90,  // kbd -> Cyrl
+    545, 10,  // kby -> Arab
+    549, 460,  // kdt -> Thai
+    553, 95,  // kfr -> Deva
+    557, 95,  // kfy -> Deva
+    561, 425,  // khb -> Talu
+    565, 95,  // khn -> Deva
+    569, 290,  // kht -> Mymr
+    573, 10,  // khw -> Arab
+    577, 225,  // kjg -> Laoo
+    581, 90,  // kk -> Cyrl
+    584, 10,  // kk_AF -> Arab
+    590, 10,  // kk_CN -> Arab
+    596, 10,  // kk_IR -> Arab
+    602, 10,  // kk_MN -> Arab
+    608, 200,  // km -> Khmr
+    611, 210,  // kn -> Knda
+    614, 215,  // ko -> Kore
+    617, 90,  // koi -> Cyrl
+    621, 95,  // kok -> Deva
+    625, 105,  // kqy -> Ethi
+    629, 90,  // krc -> Cyrl
+    633, 95,  // kru -> Deva
+    637, 10,  // ks -> Arab
+    640, 105,  // ktb -> Ethi
+    644, 10,  // ku_LB -> Arab
+    650, 90,  // kum -> Cyrl
+    654, 90,  // kv -> Cyrl
+    657, 10,  // kvx -> Arab
+    661, 105,  // kxc -> Ethi
+    665, 95,  // kxl -> Deva
+    669, 460,  // kxm -> Thai
+    673, 10,  // kxp -> Arab
+    677, 90,  // ky -> Cyrl
+    680, 10,  // ky_CN -> Arab
+    686, 10,  // kzh -> Arab
+    690, 235,  // lab -> Lina
+    694, 155,  // lad -> Hebr
+    698, 10,  // lah -> Arab
+    702, 90,  // lbe -> Cyrl
+    706, 460,  // lcp -> Thai
+    710, 230,  // lep -> Lepc
+    714, 90,  // lez -> Cyrl
+    718, 95,  // lif -> Deva
+    722, 240,  // lis -> Lisu
+    726, 10,  // lki -> Arab
+    730, 445,  // lmn -> Telu
+    734, 225,  // lo -> Laoo
+    737, 10,  // lrc -> Arab
+    741, 10,  // luz -> Arab
+    745, 460,  // lwl -> Thai
+    749, 145,  // lzh -> Hans
+    753, 95,  // mag -> Deva
+    757, 95,  // mai -> Deva
+    761, 300,  // man_GN -> Nkoo
+    768, 10,  // mde -> Arab
+    772, 90,  // mdf -> Cyrl
+    776, 105,  // mdx -> Ethi
+    780, 10,  // mfa -> Arab
+    784, 95,  // mgp -> Deva
+    788, 90,  // mk -> Cyrl
+    791, 10,  // mki -> Arab
+    795, 275,  // ml -> Mlym
+    798, 90,  // mn -> Cyrl
+    801, 280,  // mn_CN -> Mong
+    807, 40,  // mni -> Beng
+    811, 290,  // mnw -> Mymr
+    815, 95,  // mr -> Deva
+    818, 95,  // mrd -> Deva
+    822, 90,  // mrj -> Cyrl
+    826, 285,  // mro -> Mroo
+    830, 10,  // ms_CC -> Arab
+    836, 95,  // mtr -> Deva
+    840, 10,  // mvy -> Arab
+    844, 95,  // mwr -> Deva
+    848, 165,  // mww -> Hmnp
+    852, 290,  // my -> Mymr
+    855, 105,  // mym -> Ethi
+    859, 90,  // myv -> Cyrl
+    863, 255,  // myz -> Mand
+    867, 10,  // mzn -> Arab
+    871, 145,  // nan -> Hans
+    875, 95,  // ne -> Deva
+    878, 95,  // new -> Deva
+    882, 490,  // nnp -> Wcho
+    886, 220,  // nod -> Lana
+    890, 95,  // noe -> Deva
+    894, 370,  // non -> Runr
+    898, 300,  // nqo -> Nkoo
+    902, 55,  // nsk -> Cans
+    906, 470,  // nst -> Tnsa
+    910, 55,  // oj -> Cans
+    913, 55,  // ojs -> Cans
+    917, 325,  // or -> Orya
+    920, 10,  // oru -> Arab
+    924, 90,  // os -> Cyrl
+    927, 330,  // osa -> Osge
+    931, 10,  // ota -> Arab
+    935, 320,  // otk -> Orkh
+    939, 335,  // oui -> Ougr
+    943, 140,  // pa -> Guru
+    946, 10,  // pa_PK -> Arab
+    952, 345,  // pal -> Phli
+    956, 495,  // peo -> Xpeo
+    960, 10,  // phl -> Arab
+    964, 350,  // phn -> Phnx
+    968, 45,  // pka -> Brah
+    972, 130,  // pnt -> Grek
+    976, 95,  // ppa -> Deva
+    980, 195,  // pra -> Khar
+    984, 10,  // prd -> Arab
+    988, 10,  // ps -> Arab
+    991, 95,  // raj -> Deva
+    995, 365,  // rhg -> Rohg
+    999, 450,  // rif -> Tfng
+    1003, 95,  // rjs -> Deva
+    1007, 40,  // rkt -> Beng
+    1011, 10,  // rmt -> Arab
+    1015, 90,  // ru -> Cyrl
+    1018, 90,  // rue -> Cyrl
+    1022, 185,  // ryu -> Kana
+    1026, 95,  // sa -> Deva
+    1029, 90,  // sah -> Cyrl
+    1033, 315,  // sat -> Olck
+    1037, 385,  // saz -> Saur
+    1041, 95,  // sck -> Deva
+    1045, 10,  // scl -> Arab
+    1049, 10,  // sd -> Arab
+    1052, 95,  // sd_IN -> Deva
+    1058, 10,  // sdh -> Arab
+    1062, 310,  // sga -> Ogam
+    1066, 105,  // sgw -> Ethi
+    1070, 450,  // shi -> Tfng
+    1074, 290,  // shn -> Mymr
+    1078, 10,  // shu -> Arab
+    1082, 395,  // si -> Sinh
+    1085, 10,  // skr -> Arab
+    1089, 375,  // smp -> Samr
+    1093, 400,  // sog -> Sogd
+    1097, 460,  // sou -> Thai
+    1101, 90,  // sr -> Cyrl
+    1104, 405,  // srb -> Sora
+    1108, 95,  // srx -> Deva
+    1112, 10,  // swb -> Arab
+    1116, 95,  // swv -> Deva
+    1120, 40,  // syl -> Beng
+    1124, 415,  // syr -> Syrc
+    1128, 430,  // ta -> Taml
+    1131, 95,  // taj -> Deva
+    1135, 210,  // tcy -> Knda
+    1139, 420,  // tdd -> Tale
+    1143, 95,  // tdg -> Deva
+    1147, 95,  // tdh -> Deva
+    1151, 445,  // te -> Telu
+    1154, 90,  // tg -> Cyrl
+    1157, 10,  // tg_PK -> Arab
+    1163, 460,  // th -> Thai
+    1166, 95,  // thl -> Deva
+    1170, 95,  // thq -> Deva
+    1174, 95,  // thr -> Deva
+    1178, 105,  // ti -> Ethi
+    1181, 105,  // tig -> Ethi
+    1185, 95,  // tkt -> Deva
+    1189, 10,  // trw -> Arab
+    1193, 130,  // tsd -> Grek
+    1197, 95,  // tsf -> Deva
+    1201, 465,  // tsj -> Tibt
+    1205, 90,  // tt -> Cyrl
+    1208, 460,  // tts -> Thai
+    1212, 435,  // txg -> Tang
+    1216, 475,  // txo -> Toto
+    1220, 90,  // tyv -> Cyrl
+    1224, 0,  // udi -> Aghb
+    1228, 90,  // udm -> Cyrl
+    1232, 10,  // ug -> Arab
+    1235, 90,  // ug_KZ -> Cyrl
+    1241, 90,  // ug_MN -> Cyrl
+    1247, 480,  // uga -> Ugar
+    1251, 90,  // uk -> Cyrl
+    1254, 40,  // unr -> Beng
+    1258, 95,  // unr_NP -> Deva
+    1265, 40,  // unx -> Beng
+    1269, 10,  // ur -> Arab
+    1272, 10,  // uz_AF -> Arab
+    1278, 90,  // uz_CN -> Cyrl
+    1284, 485,  // vai -> Vaii
+    1288, 105,  // wal -> Ethi
+    1292, 445,  // wbq -> Telu
+    1296, 95,  // wbr -> Deva
+    1300, 10,  // wni -> Arab
+    1304, 115,  // wsg -> Gong
+    1308, 95,  // wtm -> Deva
+    1312, 145,  // wuu -> Hans
+    1316, 75,  // xco -> Chrs
+    1320, 60,  // xcr -> Cari
+    1324, 245,  // xlc -> Lyci
+    1328, 250,  // xld -> Lydi
+    1332, 110,  // xmf -> Geor
+    1336, 260,  // xmn -> Mani
+    1340, 270,  // xmr -> Merc
+    1344, 295,  // xna -> Narb
+    1348, 95,  // xnr -> Deva
+    1352, 360,  // xpr -> Prti
+    1356, 380,  // xsa -> Sarb
+    1360, 95,  // xsr -> Deva
+    1364, 155,  // yi -> Hebr
+    1367, 150,  // yue -> Hant
+    1371, 145,  // yue_CN -> Hans
+    1378, 10,  // zdj -> Arab
+    1382, 450,  // zgh -> Tfng
+    1386, 145,  // zh -> Hans
+    1389, 150,  // zh_AU -> Hant
+    1395, 150,  // zh_BN -> Hant
+    1401, 150,  // zh_GB -> Hant
+    1407, 150,  // zh_GF -> Hant
+    1413, 150,  // zh_HK -> Hant
+    1419, 150,  // zh_ID -> Hant
+    1425, 150,  // zh_MO -> Hant
+    1431, 150,  // zh_PA -> Hant
+    1437, 150,  // zh_PF -> Hant
+    1443, 150,  // zh_PH -> Hant
+    1449, 150,  // zh_SR -> Hant
+    1455, 150,  // zh_TH -> Hant
+    1461, 150,  // zh_TW -> Hant
+    1467, 150,  // zh_US -> Hant
+    1473, 150,  // zh_VN -> Hant
+    1479, 305,  // zhx -> Nshu
+    1483, 205,  // zkt -> Kits
+};
+
+//======================================================================
+// Parent locale table
+const char parentLocaleChars[] =
+    "az_Arab\0az_Cyrl\0bal_Latn\0blt_Latn\0bm_Nkoo\0bs_Cyrl\0byn_Latn\0"
+    "cu_Glag\0dje_Arab\0dyo_Arab\0en_001\0en_150\0en_AG\0en_AI\0en_AT\0"
+    "en_AU\0en_BB\0en_BE\0en_BM\0en_BS\0en_BW\0en_BZ\0en_CC\0en_CH\0"
+    "en_CK\0en_CM\0en_CX\0en_CY\0en_DE\0en_DG\0en_DK\0en_DM\0en_Dsrt\0"
+    "en_ER\0en_FI\0en_FJ\0en_FK\0en_FM\0en_GB\0en_GD\0en_GG\0en_GH\0"
+    "en_GI\0en_GM\0en_GY\0en_HK\0en_IE\0en_IL\0en_IM\0en_IN\0en_IO\0"
+    "en_JE\0en_JM\0en_KE\0en_KI\0en_KN\0en_KY\0en_LC\0en_LR\0en_LS\0"
+    "en_MG\0en_MO\0en_MS\0en_MT\0en_MU\0en_MV\0en_MW\0en_MY\0en_NA\0"
+    "en_NF\0en_NG\0en_NL\0en_NR\0en_NU\0en_NZ\0en_PG\0en_PK\0en_PN\0"
+    "en_PW\0en_RW\0en_SB\0en_SC\0en_SD\0en_SE\0en_SG\0en_SH\0en_SI\0"
+    "en_SL\0en_SS\0en_SX\0en_SZ\0en_Shaw\0en_TC\0en_TK\0en_TO\0en_TT\0"
+    "en_TV\0en_TZ\0en_UG\0en_VC\0en_VG\0en_VU\0en_WS\0en_ZA\0en_ZM\0"
+    "en_ZW\0es_419\0es_AR\0es_BO\0es_BR\0es_BZ\0es_CL\0es_CO\0es_CR\0"
+    "es_CU\0es_DO\0es_EC\0es_GT\0es_HN\0es_MX\0es_NI\0es_PA\0es_PE\0"
+    "es_PR\0es_PY\0es_SV\0es_US\0es_UY\0es_VE\0ff_Adlm\0ff_Arab\0fr_HT\0"
+    "ha_Arab\0hi_Latn\0ht\0iu_Latn\0kk_Arab\0ks_Deva\0ku_Arab\0ky_Arab\0"
+    "ky_Latn\0ml_Arab\0mn_Mong\0mni_Mtei\0ms_Arab\0nb\0nn\0no\0pa_Arab\0"
+    "pt_AO\0pt_CH\0pt_CV\0pt_FR\0pt_GQ\0pt_GW\0pt_LU\0pt_MO\0pt_MZ\0"
+    "pt_PT\0pt_ST\0pt_TL\0root\0sat_Deva\0sd_Deva\0sd_Khoj\0sd_Sind\0"
+    "shi_Latn\0so_Arab\0sr_Latn\0sw_Arab\0tg_Arab\0ug_Cyrl\0uz_Arab\0"
+    "uz_Cyrl\0vai_Latn\0wo_Arab\0yo_Arab\0yue_Hans\0zh_Hant\0zh_Hant_HK\0"
+    "zh_Hant_MO\0";
+
+const int32_t parentLocaleTable[] = {
+    0, 1017,  // az_Arab -> root
+    8, 1017,  // az_Cyrl -> root
+    16, 1017,  // bal_Latn -> root
+    25, 1017,  // blt_Latn -> root
+    34, 1017,  // bm_Nkoo -> root
+    42, 1017,  // bs_Cyrl -> root
+    50, 1017,  // byn_Latn -> root
+    59, 1017,  // cu_Glag -> root
+    67, 1017,  // dje_Arab -> root
+    76, 1017,  // dyo_Arab -> root
+    92, 85,  // en_150 -> en_001
+    99, 85,  // en_AG -> en_001
+    105, 85,  // en_AI -> en_001
+    111, 92,  // en_AT -> en_150
+    117, 85,  // en_AU -> en_001
+    123, 85,  // en_BB -> en_001
+    129, 92,  // en_BE -> en_150
+    135, 85,  // en_BM -> en_001
+    141, 85,  // en_BS -> en_001
+    147, 85,  // en_BW -> en_001
+    153, 85,  // en_BZ -> en_001
+    159, 85,  // en_CC -> en_001
+    165, 92,  // en_CH -> en_150
+    171, 85,  // en_CK -> en_001
+    177, 85,  // en_CM -> en_001
+    183, 85,  // en_CX -> en_001
+    189, 85,  // en_CY -> en_001
+    195, 92,  // en_DE -> en_150
+    201, 85,  // en_DG -> en_001
+    207, 92,  // en_DK -> en_150
+    213, 85,  // en_DM -> en_001
+    219, 1017,  // en_Dsrt -> root
+    227, 85,  // en_ER -> en_001
+    233, 92,  // en_FI -> en_150
+    239, 85,  // en_FJ -> en_001
+    245, 85,  // en_FK -> en_001
+    251, 85,  // en_FM -> en_001
+    257, 85,  // en_GB -> en_001
+    263, 85,  // en_GD -> en_001
+    269, 85,  // en_GG -> en_001
+    275, 85,  // en_GH -> en_001
+    281, 85,  // en_GI -> en_001
+    287, 85,  // en_GM -> en_001
+    293, 85,  // en_GY -> en_001
+    299, 85,  // en_HK -> en_001
+    305, 85,  // en_IE -> en_001
+    311, 85,  // en_IL -> en_001
+    317, 85,  // en_IM -> en_001
+    323, 85,  // en_IN -> en_001
+    329, 85,  // en_IO -> en_001
+    335, 85,  // en_JE -> en_001
+    341, 85,  // en_JM -> en_001
+    347, 85,  // en_KE -> en_001
+    353, 85,  // en_KI -> en_001
+    359, 85,  // en_KN -> en_001
+    365, 85,  // en_KY -> en_001
+    371, 85,  // en_LC -> en_001
+    377, 85,  // en_LR -> en_001
+    383, 85,  // en_LS -> en_001
+    389, 85,  // en_MG -> en_001
+    395, 85,  // en_MO -> en_001
+    401, 85,  // en_MS -> en_001
+    407, 85,  // en_MT -> en_001
+    413, 85,  // en_MU -> en_001
+    419, 85,  // en_MV -> en_001
+    425, 85,  // en_MW -> en_001
+    431, 85,  // en_MY -> en_001
+    437, 85,  // en_NA -> en_001
+    443, 85,  // en_NF -> en_001
+    449, 85,  // en_NG -> en_001
+    455, 92,  // en_NL -> en_150
+    461, 85,  // en_NR -> en_001
+    467, 85,  // en_NU -> en_001
+    473, 85,  // en_NZ -> en_001
+    479, 85,  // en_PG -> en_001
+    485, 85,  // en_PK -> en_001
+    491, 85,  // en_PN -> en_001
+    497, 85,  // en_PW -> en_001
+    503, 85,  // en_RW -> en_001
+    509, 85,  // en_SB -> en_001
+    515, 85,  // en_SC -> en_001
+    521, 85,  // en_SD -> en_001
+    527, 92,  // en_SE -> en_150
+    533, 85,  // en_SG -> en_001
+    539, 85,  // en_SH -> en_001
+    545, 92,  // en_SI -> en_150
+    551, 85,  // en_SL -> en_001
+    557, 85,  // en_SS -> en_001
+    563, 85,  // en_SX -> en_001
+    569, 85,  // en_SZ -> en_001
+    575, 1017,  // en_Shaw -> root
+    583, 85,  // en_TC -> en_001
+    589, 85,  // en_TK -> en_001
+    595, 85,  // en_TO -> en_001
+    601, 85,  // en_TT -> en_001
+    607, 85,  // en_TV -> en_001
+    613, 85,  // en_TZ -> en_001
+    619, 85,  // en_UG -> en_001
+    625, 85,  // en_VC -> en_001
+    631, 85,  // en_VG -> en_001
+    637, 85,  // en_VU -> en_001
+    643, 85,  // en_WS -> en_001
+    649, 85,  // en_ZA -> en_001
+    655, 85,  // en_ZM -> en_001
+    661, 85,  // en_ZW -> en_001
+    674, 667,  // es_AR -> es_419
+    680, 667,  // es_BO -> es_419
+    686, 667,  // es_BR -> es_419
+    692, 667,  // es_BZ -> es_419
+    698, 667,  // es_CL -> es_419
+    704, 667,  // es_CO -> es_419
+    710, 667,  // es_CR -> es_419
+    716, 667,  // es_CU -> es_419
+    722, 667,  // es_DO -> es_419
+    728, 667,  // es_EC -> es_419
+    734, 667,  // es_GT -> es_419
+    740, 667,  // es_HN -> es_419
+    746, 667,  // es_MX -> es_419
+    752, 667,  // es_NI -> es_419
+    758, 667,  // es_PA -> es_419
+    764, 667,  // es_PE -> es_419
+    770, 667,  // es_PR -> es_419
+    776, 667,  // es_PY -> es_419
+    782, 667,  // es_SV -> es_419
+    788, 667,  // es_US -> es_419
+    794, 667,  // es_UY -> es_419
+    800, 667,  // es_VE -> es_419
+    806, 1017,  // ff_Adlm -> root
+    814, 1017,  // ff_Arab -> root
+    828, 1017,  // ha_Arab -> root
+    836, 323,  // hi_Latn -> en_IN
+    844, 822,  // ht -> fr_HT
+    847, 1017,  // iu_Latn -> root
+    855, 1017,  // kk_Arab -> root
+    863, 1017,  // ks_Deva -> root
+    871, 1017,  // ku_Arab -> root
+    879, 1017,  // ky_Arab -> root
+    887, 1017,  // ky_Latn -> root
+    895, 1017,  // ml_Arab -> root
+    903, 1017,  // mn_Mong -> root
+    911, 1017,  // mni_Mtei -> root
+    920, 1017,  // ms_Arab -> root
+    928, 934,  // nb -> no
+    931, 934,  // nn -> no
+    937, 1017,  // pa_Arab -> root
+    945, 999,  // pt_AO -> pt_PT
+    951, 999,  // pt_CH -> pt_PT
+    957, 999,  // pt_CV -> pt_PT
+    963, 999,  // pt_FR -> pt_PT
+    969, 999,  // pt_GQ -> pt_PT
+    975, 999,  // pt_GW -> pt_PT
+    981, 999,  // pt_LU -> pt_PT
+    987, 999,  // pt_MO -> pt_PT
+    993, 999,  // pt_MZ -> pt_PT
+    1005, 999,  // pt_ST -> pt_PT
+    1011, 999,  // pt_TL -> pt_PT
+    1022, 1017,  // sat_Deva -> root
+    1031, 1017,  // sd_Deva -> root
+    1039, 1017,  // sd_Khoj -> root
+    1047, 1017,  // sd_Sind -> root
+    1055, 1017,  // shi_Latn -> root
+    1064, 1017,  // so_Arab -> root
+    1072, 1017,  // sr_Latn -> root
+    1080, 1017,  // sw_Arab -> root
+    1088, 1017,  // tg_Arab -> root
+    1096, 1017,  // ug_Cyrl -> root
+    1104, 1017,  // uz_Arab -> root
+    1112, 1017,  // uz_Cyrl -> root
+    1120, 1017,  // vai_Latn -> root
+    1129, 1017,  // wo_Arab -> root
+    1137, 1017,  // yo_Arab -> root
+    1145, 1017,  // yue_Hans -> root
+    1154, 1017,  // zh_Hant -> root
+    1173, 1162,  // zh_Hant_MO -> zh_Hant_HK
+};
+
+
+#endif  // INCLUDED_FROM_URESBUND_CPP

+ 11 - 11
thirdparty/icu4c/common/localematcher.cpp

@@ -60,7 +60,7 @@ LocaleMatcher::Result::Result(LocaleMatcher::Result &&src) U_NOEXCEPT :
     if (desiredIsOwned) {
     if (desiredIsOwned) {
         src.desiredLocale = nullptr;
         src.desiredLocale = nullptr;
         src.desiredIndex = -1;
         src.desiredIndex = -1;
-        src.desiredIsOwned = FALSE;
+        src.desiredIsOwned = false;
     }
     }
 }
 }
 
 
@@ -82,7 +82,7 @@ LocaleMatcher::Result &LocaleMatcher::Result::operator=(LocaleMatcher::Result &&
     if (desiredIsOwned) {
     if (desiredIsOwned) {
         src.desiredLocale = nullptr;
         src.desiredLocale = nullptr;
         src.desiredIndex = -1;
         src.desiredIndex = -1;
-        src.desiredIsOwned = FALSE;
+        src.desiredIsOwned = false;
     }
     }
     return *this;
     return *this;
 }
 }
@@ -287,10 +287,10 @@ LocaleMatcher::Builder &LocaleMatcher::Builder::internalSetThresholdDistance(int
 #endif
 #endif
 
 
 UBool LocaleMatcher::Builder::copyErrorTo(UErrorCode &outErrorCode) const {
 UBool LocaleMatcher::Builder::copyErrorTo(UErrorCode &outErrorCode) const {
-    if (U_FAILURE(outErrorCode)) { return TRUE; }
-    if (U_SUCCESS(errorCode_)) { return FALSE; }
+    if (U_FAILURE(outErrorCode)) { return true; }
+    if (U_SUCCESS(errorCode_)) { return false; }
     outErrorCode = errorCode_;
     outErrorCode = errorCode_;
-    return TRUE;
+    return true;
 }
 }
 
 
 LocaleMatcher LocaleMatcher::Builder::build(UErrorCode &errorCode) const {
 LocaleMatcher LocaleMatcher::Builder::build(UErrorCode &errorCode) const {
@@ -632,30 +632,30 @@ const Locale *LocaleMatcher::getBestMatchForListString(
 LocaleMatcher::Result LocaleMatcher::getBestMatchResult(
 LocaleMatcher::Result LocaleMatcher::getBestMatchResult(
         const Locale &desiredLocale, UErrorCode &errorCode) const {
         const Locale &desiredLocale, UErrorCode &errorCode) const {
     if (U_FAILURE(errorCode)) {
     if (U_FAILURE(errorCode)) {
-        return Result(nullptr, defaultLocale, -1, -1, FALSE);
+        return Result(nullptr, defaultLocale, -1, -1, false);
     }
     }
     int32_t suppIndex = getBestSuppIndex(
     int32_t suppIndex = getBestSuppIndex(
         getMaximalLsrOrUnd(likelySubtags, desiredLocale, errorCode),
         getMaximalLsrOrUnd(likelySubtags, desiredLocale, errorCode),
         nullptr, errorCode);
         nullptr, errorCode);
     if (U_FAILURE(errorCode) || suppIndex < 0) {
     if (U_FAILURE(errorCode) || suppIndex < 0) {
-        return Result(nullptr, defaultLocale, -1, -1, FALSE);
+        return Result(nullptr, defaultLocale, -1, -1, false);
     } else {
     } else {
-        return Result(&desiredLocale, supportedLocales[suppIndex], 0, suppIndex, FALSE);
+        return Result(&desiredLocale, supportedLocales[suppIndex], 0, suppIndex, false);
     }
     }
 }
 }
 
 
 LocaleMatcher::Result LocaleMatcher::getBestMatchResult(
 LocaleMatcher::Result LocaleMatcher::getBestMatchResult(
         Locale::Iterator &desiredLocales, UErrorCode &errorCode) const {
         Locale::Iterator &desiredLocales, UErrorCode &errorCode) const {
     if (U_FAILURE(errorCode) || !desiredLocales.hasNext()) {
     if (U_FAILURE(errorCode) || !desiredLocales.hasNext()) {
-        return Result(nullptr, defaultLocale, -1, -1, FALSE);
+        return Result(nullptr, defaultLocale, -1, -1, false);
     }
     }
     LocaleLsrIterator lsrIter(likelySubtags, desiredLocales, ULOCMATCH_TEMPORARY_LOCALES);
     LocaleLsrIterator lsrIter(likelySubtags, desiredLocales, ULOCMATCH_TEMPORARY_LOCALES);
     int32_t suppIndex = getBestSuppIndex(lsrIter.next(errorCode), &lsrIter, errorCode);
     int32_t suppIndex = getBestSuppIndex(lsrIter.next(errorCode), &lsrIter, errorCode);
     if (U_FAILURE(errorCode) || suppIndex < 0) {
     if (U_FAILURE(errorCode) || suppIndex < 0) {
-        return Result(nullptr, defaultLocale, -1, -1, FALSE);
+        return Result(nullptr, defaultLocale, -1, -1, false);
     } else {
     } else {
         return Result(lsrIter.orphanRemembered(), supportedLocales[suppIndex],
         return Result(lsrIter.orphanRemembered(), supportedLocales[suppIndex],
-                      lsrIter.getBestDesiredIndex(), suppIndex, TRUE);
+                      lsrIter.getBestDesiredIndex(), suppIndex, true);
     }
     }
 }
 }
 
 

+ 1 - 1
thirdparty/icu4c/common/localeprioritylist.cpp

@@ -234,7 +234,7 @@ void LocalePriorityList::sort(UErrorCode &errorCode) {
     // The comparator forces a stable sort via the item index.
     // The comparator forces a stable sort via the item index.
     if (U_FAILURE(errorCode) || getLength() <= 1 || !hasWeights) { return; }
     if (U_FAILURE(errorCode) || getLength() <= 1 || !hasWeights) { return; }
     uprv_sortArray(list->array.getAlias(), listLength, sizeof(LocaleAndWeight),
     uprv_sortArray(list->array.getAlias(), listLength, sizeof(LocaleAndWeight),
-                   compareLocaleAndWeight, nullptr, FALSE, &errorCode);
+                   compareLocaleAndWeight, nullptr, false, &errorCode);
 }
 }
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END

+ 4 - 4
thirdparty/icu4c/common/locavailable.cpp

@@ -37,7 +37,7 @@ U_NAMESPACE_BEGIN
 
 
 static icu::Locale*  availableLocaleList = NULL;
 static icu::Locale*  availableLocaleList = NULL;
 static int32_t  availableLocaleListCount;
 static int32_t  availableLocaleListCount;
-static icu::UInitOnce gInitOnceLocale = U_INITONCE_INITIALIZER;
+static icu::UInitOnce gInitOnceLocale {};
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END
 
 
@@ -54,7 +54,7 @@ static UBool U_CALLCONV locale_available_cleanup(void)
     availableLocaleListCount = 0;
     availableLocaleListCount = 0;
     gInitOnceLocale.reset();
     gInitOnceLocale.reset();
 
 
-    return TRUE;
+    return true;
 }
 }
 
 
 U_CDECL_END
 U_CDECL_END
@@ -102,7 +102,7 @@ namespace {
 // Enough capacity for the two lists in the res_index.res file
 // Enough capacity for the two lists in the res_index.res file
 const char** gAvailableLocaleNames[2] = {};
 const char** gAvailableLocaleNames[2] = {};
 int32_t gAvailableLocaleCounts[2] = {};
 int32_t gAvailableLocaleCounts[2] = {};
-icu::UInitOnce ginstalledLocalesInitOnce = U_INITONCE_INITIALIZER;
+icu::UInitOnce ginstalledLocalesInitOnce {};
 
 
 class AvailableLocalesSink : public ResourceSink {
 class AvailableLocalesSink : public ResourceSink {
   public:
   public:
@@ -203,7 +203,7 @@ static UBool U_CALLCONV uloc_cleanup(void) {
         gAvailableLocaleCounts[i] = 0;
         gAvailableLocaleCounts[i] = 0;
     }
     }
     ginstalledLocalesInitOnce.reset();
     ginstalledLocalesInitOnce.reset();
-    return TRUE;
+    return true;
 }
 }
 
 
 // Load Installed Locales. This function will be called exactly once
 // Load Installed Locales. This function will be called exactly once

+ 8 - 8
thirdparty/icu4c/common/locdispnames.cpp

@@ -514,11 +514,11 @@ uloc_getDisplayName(const char *locale,
     UChar formatCloseParen        = 0x0029; // )
     UChar formatCloseParen        = 0x0029; // )
     UChar formatReplaceCloseParen = 0x005D; // ]
     UChar formatReplaceCloseParen = 0x005D; // ]
 
 
-    UBool haveLang = TRUE; /* assume true, set false if we find we don't have
+    UBool haveLang = true; /* assume true, set false if we find we don't have
                               a lang component in the locale */
                               a lang component in the locale */
-    UBool haveRest = TRUE; /* assume true, set false if we find we don't have
+    UBool haveRest = true; /* assume true, set false if we find we don't have
                               any other component in the locale */
                               any other component in the locale */
-    UBool retry = FALSE; /* set true if we need to retry, see below */
+    UBool retry = false; /* set true if we need to retry, see below */
 
 
     int32_t langi = 0; /* index of the language substitution (0 or 1), virtually always 0 */
     int32_t langi = 0; /* index of the language substitution (0 or 1), virtually always 0 */
 
 
@@ -625,7 +625,7 @@ uloc_getDisplayName(const char *locale,
         }
         }
 
 
         for(int32_t subi=0,resti=0;subi<2;) { /* iterate through patterns 0 and 1*/
         for(int32_t subi=0,resti=0;subi<2;) { /* iterate through patterns 0 and 1*/
-            UBool subdone = FALSE; /* set true when ready to move to next substitution */
+            UBool subdone = false; /* set true when ready to move to next substitution */
 
 
             /* prep p and cap for calls to get display components, pin cap to 0 since
             /* prep p and cap for calls to get display components, pin cap to 0 since
                they complain if cap is negative */
                they complain if cap is negative */
@@ -643,10 +643,10 @@ uloc_getDisplayName(const char *locale,
                     length+=langLen;
                     length+=langLen;
                     haveLang=langLen>0;
                     haveLang=langLen>0;
                 }
                 }
-                subdone=TRUE;
+                subdone=true;
             } else { /* {1} */
             } else { /* {1} */
                 if(!haveRest) {
                 if(!haveRest) {
-                    subdone=TRUE;
+                    subdone=true;
                 } else {
                 } else {
                     int32_t len; /* length of component (plus other stuff) we just fetched */
                     int32_t len; /* length of component (plus other stuff) we just fetched */
                     switch(resti++) {
                     switch(resti++) {
@@ -667,7 +667,7 @@ uloc_getDisplayName(const char *locale,
                             const char* kw=uenum_next(kenum.getAlias(), &len, pErrorCode);
                             const char* kw=uenum_next(kenum.getAlias(), &len, pErrorCode);
                             if (kw == NULL) {
                             if (kw == NULL) {
                                 len=0; /* mark that we didn't add a component */
                                 len=0; /* mark that we didn't add a component */
-                                subdone=TRUE;
+                                subdone=true;
                             } else {
                             } else {
                                 /* incorporating this behavior into the loop made it even more complex,
                                 /* incorporating this behavior into the loop made it even more complex,
                                    so just special case it here */
                                    so just special case it here */
@@ -772,7 +772,7 @@ uloc_getDisplayName(const char *locale,
                             /* would have fit, but didn't because of pattern prefix. */
                             /* would have fit, but didn't because of pattern prefix. */
                             sub0Pos=0; /* stops initial padding (and a second retry,
                             sub0Pos=0; /* stops initial padding (and a second retry,
                                           so we won't end up here again) */
                                           so we won't end up here again) */
-                            retry=TRUE;
+                            retry=true;
                         }
                         }
                     }
                     }
                 }
                 }

+ 2 - 2
thirdparty/icu4c/common/locdistance.cpp

@@ -45,13 +45,13 @@ enum {
 };
 };
 
 
 LocaleDistance *gLocaleDistance = nullptr;
 LocaleDistance *gLocaleDistance = nullptr;
-UInitOnce gInitOnce = U_INITONCE_INITIALIZER;
+UInitOnce gInitOnce {};
 
 
 UBool U_CALLCONV cleanup() {
 UBool U_CALLCONV cleanup() {
     delete gLocaleDistance;
     delete gLocaleDistance;
     gLocaleDistance = nullptr;
     gLocaleDistance = nullptr;
     gInitOnce.reset();
     gInitOnce.reset();
-    return TRUE;
+    return true;
 }
 }
 
 
 }  // namespace
 }  // namespace

+ 20 - 20
thirdparty/icu4c/common/locdspnm.cpp

@@ -403,7 +403,7 @@ struct LocaleDisplayNamesImpl::CapitalizationContextSink : public ResourceSink {
     LocaleDisplayNamesImpl& parent;
     LocaleDisplayNamesImpl& parent;
 
 
     CapitalizationContextSink(LocaleDisplayNamesImpl& _parent)
     CapitalizationContextSink(LocaleDisplayNamesImpl& _parent)
-      : hasCapitalizationUsage(FALSE), parent(_parent) {}
+      : hasCapitalizationUsage(false), parent(_parent) {}
     virtual ~CapitalizationContextSink();
     virtual ~CapitalizationContextSink();
 
 
     virtual void put(const char *key, ResourceValue &value, UBool /*noFallback*/,
     virtual void put(const char *key, ResourceValue &value, UBool /*noFallback*/,
@@ -437,8 +437,8 @@ struct LocaleDisplayNamesImpl::CapitalizationContextSink : public ResourceSink {
             int32_t titlecaseInt = (parent.capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU) ? intVector[0] : intVector[1];
             int32_t titlecaseInt = (parent.capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU) ? intVector[0] : intVector[1];
             if (titlecaseInt == 0) { continue; }
             if (titlecaseInt == 0) { continue; }
 
 
-            parent.fCapitalization[usageEnum] = TRUE;
-            hasCapitalizationUsage = TRUE;
+            parent.fCapitalization[usageEnum] = true;
+            hasCapitalizationUsage = true;
         }
         }
     }
     }
 };
 };
@@ -490,7 +490,7 @@ LocaleDisplayNamesImpl::initialize(void) {
 #if !UCONFIG_NO_BREAK_ITERATION
 #if !UCONFIG_NO_BREAK_ITERATION
     // Only get the context data if we need it! This is a const object so we know now...
     // Only get the context data if we need it! This is a const object so we know now...
     // Also check whether we will need a break iterator (depends on the data)
     // Also check whether we will need a break iterator (depends on the data)
-    UBool needBrkIter = FALSE;
+    UBool needBrkIter = false;
     if (capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU || capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_STANDALONE) {
     if (capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU || capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_STANDALONE) {
         LocalUResourceBundlePointer resource(ures_open(NULL, locale.getName(), &status));
         LocalUResourceBundlePointer resource(ures_open(NULL, locale.getName(), &status));
         if (U_FAILURE(status)) { return; }
         if (U_FAILURE(status)) { return; }
@@ -593,8 +593,8 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
         ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, "_", country, (char *)0);
         ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, "_", country, (char *)0);
         localeIdName(buffer, resultName, false);
         localeIdName(buffer, resultName, false);
         if (!resultName.isBogus()) {
         if (!resultName.isBogus()) {
-          hasScript = FALSE;
-          hasCountry = FALSE;
+          hasScript = false;
+          hasCountry = false;
           break;
           break;
         }
         }
       }
       }
@@ -602,7 +602,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
         ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, (char *)0);
         ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, (char *)0);
         localeIdName(buffer, resultName, false);
         localeIdName(buffer, resultName, false);
         if (!resultName.isBogus()) {
         if (!resultName.isBogus()) {
-          hasScript = FALSE;
+          hasScript = false;
           break;
           break;
         }
         }
       }
       }
@@ -610,11 +610,11 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
         ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", country, (char*)0);
         ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", country, (char*)0);
         localeIdName(buffer, resultName, false);
         localeIdName(buffer, resultName, false);
         if (!resultName.isBogus()) {
         if (!resultName.isBogus()) {
-          hasCountry = FALSE;
+          hasCountry = false;
           break;
           break;
         }
         }
       }
       }
-    } while (FALSE);
+    } while (false);
   }
   }
   if (resultName.isBogus() || resultName.isEmpty()) {
   if (resultName.isBogus() || resultName.isEmpty()) {
     localeIdName(lang, resultName, substitute == UDISPCTX_SUBSTITUTE);
     localeIdName(lang, resultName, substitute == UDISPCTX_SUBSTITUTE);
@@ -629,7 +629,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
   UErrorCode status = U_ZERO_ERROR;
   UErrorCode status = U_ZERO_ERROR;
 
 
   if (hasScript) {
   if (hasScript) {
-    UnicodeString script_str = scriptDisplayName(script, temp, TRUE);
+    UnicodeString script_str = scriptDisplayName(script, temp, true);
     if (script_str.isBogus()) {
     if (script_str.isBogus()) {
       result.setToBogus();
       result.setToBogus();
       return result;
       return result;
@@ -637,7 +637,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
     resultRemainder.append(script_str);
     resultRemainder.append(script_str);
   }
   }
   if (hasCountry) {
   if (hasCountry) {
-    UnicodeString region_str = regionDisplayName(country, temp, TRUE);
+    UnicodeString region_str = regionDisplayName(country, temp, true);
     if (region_str.isBogus()) {
     if (region_str.isBogus()) {
       result.setToBogus();
       result.setToBogus();
       return result;
       return result;
@@ -645,7 +645,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
     appendWithSep(resultRemainder, region_str);
     appendWithSep(resultRemainder, region_str);
   }
   }
   if (hasVariant) {
   if (hasVariant) {
-    UnicodeString variant_str = variantDisplayName(variant, temp, TRUE);
+    UnicodeString variant_str = variantDisplayName(variant, temp, true);
     if (variant_str.isBogus()) {
     if (variant_str.isBogus()) {
       result.setToBogus();
       result.setToBogus();
       return result;
       return result;
@@ -666,10 +666,10 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
       if (U_FAILURE(status) || status == U_STRING_NOT_TERMINATED_WARNING) {
       if (U_FAILURE(status) || status == U_STRING_NOT_TERMINATED_WARNING) {
         return result;
         return result;
       }
       }
-      keyDisplayName(key, temp, TRUE);
+      keyDisplayName(key, temp, true);
       temp.findAndReplace(formatOpenParen, formatReplaceOpenParen);
       temp.findAndReplace(formatOpenParen, formatReplaceOpenParen);
       temp.findAndReplace(formatCloseParen, formatReplaceCloseParen);
       temp.findAndReplace(formatCloseParen, formatReplaceCloseParen);
-      keyValueDisplayName(key, value, temp2, TRUE);
+      keyValueDisplayName(key, value, temp2, true);
       temp2.findAndReplace(formatOpenParen, formatReplaceOpenParen);
       temp2.findAndReplace(formatOpenParen, formatReplaceOpenParen);
       temp2.findAndReplace(formatCloseParen, formatReplaceCloseParen);
       temp2.findAndReplace(formatCloseParen, formatReplaceCloseParen);
       if (temp2 != UnicodeString(value, -1, US_INV)) {
       if (temp2 != UnicodeString(value, -1, US_INV)) {
@@ -797,13 +797,13 @@ LocaleDisplayNamesImpl::scriptDisplayName(const char* script,
 UnicodeString&
 UnicodeString&
 LocaleDisplayNamesImpl::scriptDisplayName(const char* script,
 LocaleDisplayNamesImpl::scriptDisplayName(const char* script,
                                           UnicodeString& result) const {
                                           UnicodeString& result) const {
-    return scriptDisplayName(script, result, FALSE);
+    return scriptDisplayName(script, result, false);
 }
 }
 
 
 UnicodeString&
 UnicodeString&
 LocaleDisplayNamesImpl::scriptDisplayName(UScriptCode scriptCode,
 LocaleDisplayNamesImpl::scriptDisplayName(UScriptCode scriptCode,
                                           UnicodeString& result) const {
                                           UnicodeString& result) const {
-    return scriptDisplayName(uscript_getName(scriptCode), result, FALSE);
+    return scriptDisplayName(uscript_getName(scriptCode), result, false);
 }
 }
 
 
 UnicodeString&
 UnicodeString&
@@ -827,7 +827,7 @@ LocaleDisplayNamesImpl::regionDisplayName(const char* region,
 UnicodeString&
 UnicodeString&
 LocaleDisplayNamesImpl::regionDisplayName(const char* region,
 LocaleDisplayNamesImpl::regionDisplayName(const char* region,
                                           UnicodeString& result) const {
                                           UnicodeString& result) const {
-    return regionDisplayName(region, result, FALSE);
+    return regionDisplayName(region, result, false);
 }
 }
 
 
 
 
@@ -847,7 +847,7 @@ LocaleDisplayNamesImpl::variantDisplayName(const char* variant,
 UnicodeString&
 UnicodeString&
 LocaleDisplayNamesImpl::variantDisplayName(const char* variant,
 LocaleDisplayNamesImpl::variantDisplayName(const char* variant,
                                            UnicodeString& result) const {
                                            UnicodeString& result) const {
-    return variantDisplayName(variant, result, FALSE);
+    return variantDisplayName(variant, result, false);
 }
 }
 
 
 UnicodeString&
 UnicodeString&
@@ -866,7 +866,7 @@ LocaleDisplayNamesImpl::keyDisplayName(const char* key,
 UnicodeString&
 UnicodeString&
 LocaleDisplayNamesImpl::keyDisplayName(const char* key,
 LocaleDisplayNamesImpl::keyDisplayName(const char* key,
                                        UnicodeString& result) const {
                                        UnicodeString& result) const {
-    return keyDisplayName(key, result, FALSE);
+    return keyDisplayName(key, result, false);
 }
 }
 
 
 UnicodeString&
 UnicodeString&
@@ -908,7 +908,7 @@ UnicodeString&
 LocaleDisplayNamesImpl::keyValueDisplayName(const char* key,
 LocaleDisplayNamesImpl::keyValueDisplayName(const char* key,
                                             const char* value,
                                             const char* value,
                                             UnicodeString& result) const {
                                             UnicodeString& result) const {
-    return keyValueDisplayName(key, value, result, FALSE);
+    return keyValueDisplayName(key, value, result, false);
 }
 }
 
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////////////////////////

+ 26 - 27
thirdparty/icu4c/common/locid.cpp

@@ -64,7 +64,7 @@ U_CDECL_END
 U_NAMESPACE_BEGIN
 U_NAMESPACE_BEGIN
 
 
 static Locale   *gLocaleCache = NULL;
 static Locale   *gLocaleCache = NULL;
-static UInitOnce gLocaleCacheInitOnce = U_INITONCE_INITIALIZER;
+static UInitOnce gLocaleCacheInitOnce {};
 
 
 // gDefaultLocaleMutex protects all access to gDefaultLocalesHashT and gDefaultLocale.
 // gDefaultLocaleMutex protects all access to gDefaultLocalesHashT and gDefaultLocale.
 static UMutex gDefaultLocaleMutex;
 static UMutex gDefaultLocaleMutex;
@@ -128,7 +128,7 @@ static UBool U_CALLCONV locale_cleanup(void)
         gDefaultLocalesHashT = NULL;
         gDefaultLocalesHashT = NULL;
     }
     }
     gDefaultLocale = NULL;
     gDefaultLocale = NULL;
-    return TRUE;
+    return true;
 }
 }
 
 
 
 
@@ -171,7 +171,7 @@ Locale *locale_set_default_internal(const char *id, UErrorCode& status) {
     // Synchronize this entire function.
     // Synchronize this entire function.
     Mutex lock(&gDefaultLocaleMutex);
     Mutex lock(&gDefaultLocaleMutex);
 
 
-    UBool canonicalize = FALSE;
+    UBool canonicalize = false;
 
 
     // If given a NULL string for the locale id, grab the default
     // If given a NULL string for the locale id, grab the default
     //   name from the system.
     //   name from the system.
@@ -179,7 +179,7 @@ Locale *locale_set_default_internal(const char *id, UErrorCode& status) {
     //    the current ICU default locale.)
     //    the current ICU default locale.)
     if (id == NULL) {
     if (id == NULL) {
         id = uprv_getDefaultLocaleID();   // This function not thread safe? TODO: verify.
         id = uprv_getDefaultLocaleID();   // This function not thread safe? TODO: verify.
-        canonicalize = TRUE; // always canonicalize host ID
+        canonicalize = true; // always canonicalize host ID
     }
     }
 
 
     CharString localeNameBuf;
     CharString localeNameBuf;
@@ -212,7 +212,7 @@ Locale *locale_set_default_internal(const char *id, UErrorCode& status) {
             status = U_MEMORY_ALLOCATION_ERROR;
             status = U_MEMORY_ALLOCATION_ERROR;
             return gDefaultLocale;
             return gDefaultLocale;
         }
         }
-        newDefault->init(localeNameBuf.data(), FALSE);
+        newDefault->init(localeNameBuf.data(), false);
         uhash_put(gDefaultLocalesHashT, (char*) newDefault->getName(), newDefault, &status);
         uhash_put(gDefaultLocalesHashT, (char*) newDefault->getName(), newDefault, &status);
         if (U_FAILURE(status)) {
         if (U_FAILURE(status)) {
             return gDefaultLocale;
             return gDefaultLocale;
@@ -269,7 +269,7 @@ Locale::~Locale()
 Locale::Locale()
 Locale::Locale()
     : UObject(), fullName(fullNameBuffer), baseName(NULL)
     : UObject(), fullName(fullNameBuffer), baseName(NULL)
 {
 {
-    init(NULL, FALSE);
+    init(NULL, false);
 }
 }
 
 
 /*
 /*
@@ -292,7 +292,7 @@ Locale::Locale( const   char * newLanguage,
 {
 {
     if( (newLanguage==NULL) && (newCountry == NULL) && (newVariant == NULL) )
     if( (newLanguage==NULL) && (newCountry == NULL) && (newVariant == NULL) )
     {
     {
-        init(NULL, FALSE); /* shortcut */
+        init(NULL, false); /* shortcut */
     }
     }
     else
     else
     {
     {
@@ -397,7 +397,7 @@ Locale::Locale( const   char * newLanguage,
         }
         }
         // Parse it, because for example 'language' might really be a complete
         // Parse it, because for example 'language' might really be a complete
         // string.
         // string.
-        init(togo.data(), FALSE);
+        init(togo.data(), false);
     }
     }
 }
 }
 
 
@@ -491,7 +491,7 @@ Locale::operator==( const   Locale& other) const
 
 
 namespace {
 namespace {
 
 
-UInitOnce gKnownCanonicalizedInitOnce = U_INITONCE_INITIALIZER;
+UInitOnce gKnownCanonicalizedInitOnce {};
 UHashtable *gKnownCanonicalized = nullptr;
 UHashtable *gKnownCanonicalized = nullptr;
 
 
 static const char* const KNOWN_CANONICALIZED[] = {
 static const char* const KNOWN_CANONICALIZED[] = {
@@ -521,7 +521,7 @@ static const char* const KNOWN_CANONICALIZED[] = {
 static UBool U_CALLCONV cleanupKnownCanonicalized() {
 static UBool U_CALLCONV cleanupKnownCanonicalized() {
     gKnownCanonicalizedInitOnce.reset();
     gKnownCanonicalizedInitOnce.reset();
     if (gKnownCanonicalized) { uhash_close(gKnownCanonicalized); }
     if (gKnownCanonicalized) { uhash_close(gKnownCanonicalized); }
-    return TRUE;
+    return true;
 }
 }
 
 
 static void U_CALLCONV loadKnownCanonicalized(UErrorCode &status) {
 static void U_CALLCONV loadKnownCanonicalized(UErrorCode &status) {
@@ -682,14 +682,14 @@ private:
 
 
 
 
 const AliasData* AliasData::gSingleton = nullptr;
 const AliasData* AliasData::gSingleton = nullptr;
-UInitOnce AliasData::gInitOnce = U_INITONCE_INITIALIZER;
+UInitOnce AliasData::gInitOnce {};
 
 
 UBool U_CALLCONV
 UBool U_CALLCONV
 AliasData::cleanup()
 AliasData::cleanup()
 {
 {
     gInitOnce.reset();
     gInitOnce.reset();
     delete gSingleton;
     delete gSingleton;
-    return TRUE;
+    return true;
 }
 }
 
 
 void
 void
@@ -716,20 +716,19 @@ AliasDataBuilder::readAlias(
         status = U_MEMORY_ALLOCATION_ERROR;
         status = U_MEMORY_ALLOCATION_ERROR;
         return;
         return;
     }
     }
-    int i = 0;
-    while (ures_hasNext(alias)) {
+    for (int i = 0; U_SUCCESS(status) && ures_hasNext(alias); i++) {
         LocalUResourceBundlePointer res(
         LocalUResourceBundlePointer res(
             ures_getNextResource(alias, nullptr, &status));
             ures_getNextResource(alias, nullptr, &status));
         const char* aliasFrom = ures_getKey(res.getAlias());
         const char* aliasFrom = ures_getKey(res.getAlias());
         UnicodeString aliasTo =
         UnicodeString aliasTo =
             ures_getUnicodeStringByKey(res.getAlias(), "replacement", &status);
             ures_getUnicodeStringByKey(res.getAlias(), "replacement", &status);
+        if (U_FAILURE(status)) return;
 
 
         checkType(aliasFrom);
         checkType(aliasFrom);
         checkReplacement(aliasTo);
         checkReplacement(aliasTo);
 
 
         rawTypes[i] = aliasFrom;
         rawTypes[i] = aliasFrom;
         rawIndexes[i] = strings->add(aliasTo, status);
         rawIndexes[i] = strings->add(aliasTo, status);
-        i++;
     }
     }
 }
 }
 
 
@@ -1818,7 +1817,7 @@ ulocimp_isCanonicalizedLocaleForTest(const char* localeName)
 /*This function initializes a Locale from a C locale ID*/
 /*This function initializes a Locale from a C locale ID*/
 Locale& Locale::init(const char* localeID, UBool canonicalize)
 Locale& Locale::init(const char* localeID, UBool canonicalize)
 {
 {
-    fIsBogus = FALSE;
+    fIsBogus = false;
     /* Free our current storage */
     /* Free our current storage */
     if ((baseName != fullName) && (baseName != fullNameBuffer)) {
     if ((baseName != fullName) && (baseName != fullNameBuffer)) {
         uprv_free(baseName);
         uprv_free(baseName);
@@ -2022,7 +2021,7 @@ Locale::setToBogus() {
     *language = 0;
     *language = 0;
     *script = 0;
     *script = 0;
     *country = 0;
     *country = 0;
-    fIsBogus = TRUE;
+    fIsBogus = true;
     variantBegin = 0;
     variantBegin = 0;
 }
 }
 
 
@@ -2072,7 +2071,7 @@ Locale::addLikelySubtags(UErrorCode& status) {
         return;
         return;
     }
     }
 
 
-    init(maximizedLocaleID.data(), /*canonicalize=*/FALSE);
+    init(maximizedLocaleID.data(), /*canonicalize=*/false);
     if (isBogus()) {
     if (isBogus()) {
         status = U_ILLEGAL_ARGUMENT_ERROR;
         status = U_ILLEGAL_ARGUMENT_ERROR;
     }
     }
@@ -2094,7 +2093,7 @@ Locale::minimizeSubtags(UErrorCode& status) {
         return;
         return;
     }
     }
 
 
-    init(minimizedLocaleID.data(), /*canonicalize=*/FALSE);
+    init(minimizedLocaleID.data(), /*canonicalize=*/false);
     if (isBogus()) {
     if (isBogus()) {
         status = U_ILLEGAL_ARGUMENT_ERROR;
         status = U_ILLEGAL_ARGUMENT_ERROR;
     }
     }
@@ -2113,7 +2112,7 @@ Locale::canonicalize(UErrorCode& status) {
     if (U_FAILURE(status)) {
     if (U_FAILURE(status)) {
         return;
         return;
     }
     }
-    init(uncanonicalized.data(), /*canonicalize=*/TRUE);
+    init(uncanonicalized.data(), /*canonicalize=*/true);
     if (isBogus()) {
     if (isBogus()) {
         status = U_ILLEGAL_ARGUMENT_ERROR;
         status = U_ILLEGAL_ARGUMENT_ERROR;
     }
     }
@@ -2160,7 +2159,7 @@ Locale::forLanguageTag(StringPiece tag, UErrorCode& status)
         return result;
         return result;
     }
     }
 
 
-    result.init(localeID.data(), /*canonicalize=*/FALSE);
+    result.init(localeID.data(), /*canonicalize=*/false);
     if (result.isBogus()) {
     if (result.isBogus()) {
         status = U_ILLEGAL_ARGUMENT_ERROR;
         status = U_ILLEGAL_ARGUMENT_ERROR;
     }
     }
@@ -2179,7 +2178,7 @@ Locale::toLanguageTag(ByteSink& sink, UErrorCode& status) const
         return;
         return;
     }
     }
 
 
-    ulocimp_toLanguageTag(fullName, sink, /*strict=*/FALSE, &status);
+    ulocimp_toLanguageTag(fullName, sink, /*strict=*/false, &status);
 }
 }
 
 
 Locale U_EXPORT2
 Locale U_EXPORT2
@@ -2187,7 +2186,7 @@ Locale::createFromName (const char *name)
 {
 {
     if (name) {
     if (name) {
         Locale l("");
         Locale l("");
-        l.init(name, FALSE);
+        l.init(name, false);
         return l;
         return l;
     }
     }
     else {
     else {
@@ -2198,7 +2197,7 @@ Locale::createFromName (const char *name)
 Locale U_EXPORT2
 Locale U_EXPORT2
 Locale::createCanonical(const char* name) {
 Locale::createCanonical(const char* name) {
     Locale loc("");
     Locale loc("");
-    loc.init(name, TRUE);
+    loc.init(name, true);
     return loc;
     return loc;
 }
 }
 
 
@@ -2241,7 +2240,7 @@ const char* const* U_EXPORT2 Locale::getISOLanguages()
 // Set the locale's data based on a posix id.
 // Set the locale's data based on a posix id.
 void Locale::setFromPOSIXID(const char *posixID)
 void Locale::setFromPOSIXID(const char *posixID)
 {
 {
-    init(posixID, TRUE);
+    init(posixID, true);
 }
 }
 
 
 const Locale & U_EXPORT2
 const Locale & U_EXPORT2
@@ -2531,7 +2530,7 @@ Locale::createKeywords(UErrorCode &status) const
         if(assignment > variantStart) {
         if(assignment > variantStart) {
             CharString keywords;
             CharString keywords;
             CharStringByteSink sink(&keywords);
             CharStringByteSink sink(&keywords);
-            ulocimp_getKeywords(variantStart+1, '@', sink, FALSE, &status);
+            ulocimp_getKeywords(variantStart+1, '@', sink, false, &status);
             if (U_SUCCESS(status) && !keywords.isEmpty()) {
             if (U_SUCCESS(status) && !keywords.isEmpty()) {
                 result = new KeywordEnumeration(keywords.data(), keywords.length(), 0, status);
                 result = new KeywordEnumeration(keywords.data(), keywords.length(), 0, status);
                 if (!result) {
                 if (!result) {
@@ -2560,7 +2559,7 @@ Locale::createUnicodeKeywords(UErrorCode &status) const
         if(assignment > variantStart) {
         if(assignment > variantStart) {
             CharString keywords;
             CharString keywords;
             CharStringByteSink sink(&keywords);
             CharStringByteSink sink(&keywords);
-            ulocimp_getKeywords(variantStart+1, '@', sink, FALSE, &status);
+            ulocimp_getKeywords(variantStart+1, '@', sink, false, &status);
             if (U_SUCCESS(status) && !keywords.isEmpty()) {
             if (U_SUCCESS(status) && !keywords.isEmpty()) {
                 result = new UnicodeKeywordEnumeration(keywords.data(), keywords.length(), 0, status);
                 result = new UnicodeKeywordEnumeration(keywords.data(), keywords.length(), 0, status);
                 if (!result) {
                 if (!result) {

+ 25 - 25
thirdparty/icu4c/common/loclikely.cpp

@@ -201,7 +201,7 @@ createTagStringWithAlternates(
          **/
          **/
         char tagBuffer[ULOC_FULLNAME_CAPACITY];
         char tagBuffer[ULOC_FULLNAME_CAPACITY];
         int32_t tagLength = 0;
         int32_t tagLength = 0;
-        UBool regionAppended = FALSE;
+        UBool regionAppended = false;
 
 
         if (langLength > 0) {
         if (langLength > 0) {
             appendTag(
             appendTag(
@@ -209,7 +209,7 @@ createTagStringWithAlternates(
                 langLength,
                 langLength,
                 tagBuffer,
                 tagBuffer,
                 &tagLength,
                 &tagLength,
-                /*withSeparator=*/FALSE);
+                /*withSeparator=*/false);
         }
         }
         else if (alternateTags == NULL) {
         else if (alternateTags == NULL) {
             /*
             /*
@@ -246,7 +246,7 @@ createTagStringWithAlternates(
                     alternateLangLength,
                     alternateLangLength,
                     tagBuffer,
                     tagBuffer,
                     &tagLength,
                     &tagLength,
-                    /*withSeparator=*/FALSE);
+                    /*withSeparator=*/false);
             }
             }
         }
         }
 
 
@@ -256,7 +256,7 @@ createTagStringWithAlternates(
                 scriptLength,
                 scriptLength,
                 tagBuffer,
                 tagBuffer,
                 &tagLength,
                 &tagLength,
-                /*withSeparator=*/TRUE);
+                /*withSeparator=*/true);
         }
         }
         else if (alternateTags != NULL) {
         else if (alternateTags != NULL) {
             /*
             /*
@@ -281,7 +281,7 @@ createTagStringWithAlternates(
                     alternateScriptLength,
                     alternateScriptLength,
                     tagBuffer,
                     tagBuffer,
                     &tagLength,
                     &tagLength,
-                    /*withSeparator=*/TRUE);
+                    /*withSeparator=*/true);
             }
             }
         }
         }
 
 
@@ -291,9 +291,9 @@ createTagStringWithAlternates(
                 regionLength,
                 regionLength,
                 tagBuffer,
                 tagBuffer,
                 &tagLength,
                 &tagLength,
-                /*withSeparator=*/TRUE);
+                /*withSeparator=*/true);
 
 
-            regionAppended = TRUE;
+            regionAppended = true;
         }
         }
         else if (alternateTags != NULL) {
         else if (alternateTags != NULL) {
             /*
             /*
@@ -317,9 +317,9 @@ createTagStringWithAlternates(
                     alternateRegionLength,
                     alternateRegionLength,
                     tagBuffer,
                     tagBuffer,
                     &tagLength,
                     &tagLength,
-                    /*withSeparator=*/TRUE);
+                    /*withSeparator=*/true);
 
 
-                regionAppended = TRUE;
+                regionAppended = true;
             }
             }
         }
         }
 
 
@@ -622,7 +622,7 @@ createLikelySubtagsString(
                         likelySubtags,
                         likelySubtags,
                         sink,
                         sink,
                         err);
                         err);
-            return TRUE;
+            return true;
         }
         }
     }
     }
 
 
@@ -678,7 +678,7 @@ createLikelySubtagsString(
                         likelySubtags,
                         likelySubtags,
                         sink,
                         sink,
                         err);
                         err);
-            return TRUE;
+            return true;
         }
         }
     }
     }
 
 
@@ -734,7 +734,7 @@ createLikelySubtagsString(
                         likelySubtags,
                         likelySubtags,
                         sink,
                         sink,
                         err);
                         err);
-            return TRUE;
+            return true;
         }
         }
     }
     }
 
 
@@ -789,11 +789,11 @@ createLikelySubtagsString(
                         likelySubtags,
                         likelySubtags,
                         sink,
                         sink,
                         err);
                         err);
-            return TRUE;
+            return true;
         }
         }
     }
     }
 
 
-    return FALSE;
+    return false;
 
 
 error:
 error:
 
 
@@ -801,7 +801,7 @@ error:
         *err = U_ILLEGAL_ARGUMENT_ERROR;
         *err = U_ILLEGAL_ARGUMENT_ERROR;
     }
     }
 
 
-    return FALSE;
+    return false;
 }
 }
 
 
 #define CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength) UPRV_BLOCK_MACRO_BEGIN { \
 #define CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength) UPRV_BLOCK_MACRO_BEGIN { \
@@ -836,7 +836,7 @@ _uloc_addLikelySubtags(const char* localeID,
     const char* trailing = "";
     const char* trailing = "";
     int32_t trailingLength = 0;
     int32_t trailingLength = 0;
     int32_t trailingIndex = 0;
     int32_t trailingIndex = 0;
-    UBool success = FALSE;
+    UBool success = false;
 
 
     if(U_FAILURE(*err)) {
     if(U_FAILURE(*err)) {
         goto error;
         goto error;
@@ -901,7 +901,7 @@ error:
     if (!U_FAILURE(*err)) {
     if (!U_FAILURE(*err)) {
         *err = U_ILLEGAL_ARGUMENT_ERROR;
         *err = U_ILLEGAL_ARGUMENT_ERROR;
     }
     }
-    return FALSE;
+    return false;
 }
 }
 
 
 // Add likely subtags to the sink
 // Add likely subtags to the sink
@@ -925,7 +925,7 @@ _uloc_minimizeSubtags(const char* localeID,
     const char* trailing = "";
     const char* trailing = "";
     int32_t trailingLength = 0;
     int32_t trailingLength = 0;
     int32_t trailingIndex = 0;
     int32_t trailingIndex = 0;
-    UBool successGetMax = FALSE;
+    UBool successGetMax = false;
 
 
     if(U_FAILURE(*err)) {
     if(U_FAILURE(*err)) {
         goto error;
         goto error;
@@ -1248,7 +1248,7 @@ _ulocimp_addLikelySubtags(const char* localeID,
     if (U_SUCCESS(*status)) {
     if (U_SUCCESS(*status)) {
         return _uloc_addLikelySubtags(localeBuffer.getBuffer(), sink, status);
         return _uloc_addLikelySubtags(localeBuffer.getBuffer(), sink, status);
     } else {
     } else {
-        return FALSE;
+        return false;
     }
     }
 }
 }
 
 
@@ -1320,14 +1320,14 @@ uloc_isRightToLeft(const char *locale) {
         char lang[8];
         char lang[8];
         int32_t langLength = uloc_getLanguage(locale, lang, UPRV_LENGTHOF(lang), &errorCode);
         int32_t langLength = uloc_getLanguage(locale, lang, UPRV_LENGTHOF(lang), &errorCode);
         if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) {
         if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) {
-            return FALSE;
+            return false;
         }
         }
         if (langLength > 0) {
         if (langLength > 0) {
             const char* langPtr = uprv_strstr(LANG_DIR_STRING, lang);
             const char* langPtr = uprv_strstr(LANG_DIR_STRING, lang);
             if (langPtr != NULL) {
             if (langPtr != NULL) {
                 switch (langPtr[langLength]) {
                 switch (langPtr[langLength]) {
-                case '-': return FALSE;
-                case '+': return TRUE;
+                case '-': return false;
+                case '+': return true;
                 default: break;  // partial match of a longer code
                 default: break;  // partial match of a longer code
                 }
                 }
             }
             }
@@ -1340,12 +1340,12 @@ uloc_isRightToLeft(const char *locale) {
             ulocimp_addLikelySubtags(locale, sink, &errorCode);
             ulocimp_addLikelySubtags(locale, sink, &errorCode);
         }
         }
         if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) {
         if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) {
-            return FALSE;
+            return false;
         }
         }
         scriptLength = uloc_getScript(likely.data(), script, UPRV_LENGTHOF(script), &errorCode);
         scriptLength = uloc_getScript(likely.data(), script, UPRV_LENGTHOF(script), &errorCode);
         if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING ||
         if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING ||
                 scriptLength == 0) {
                 scriptLength == 0) {
-            return FALSE;
+            return false;
         }
         }
     }
     }
     UScriptCode scriptCode = (UScriptCode)u_getPropertyValueEnum(UCHAR_SCRIPT, script);
     UScriptCode scriptCode = (UScriptCode)u_getPropertyValueEnum(UCHAR_SCRIPT, script);
@@ -1392,7 +1392,7 @@ ulocimp_getRegionForSupplementalData(const char *localeID, UBool inferRegion,
         if (U_FAILURE(*status)) {
         if (U_FAILURE(*status)) {
             rgLen = 0;
             rgLen = 0;
         } else if (rgLen == 0 && inferRegion) {
         } else if (rgLen == 0 && inferRegion) {
-            // no unicode_region_subtag but inferRegion TRUE, try likely subtags
+            // no unicode_region_subtag but inferRegion true, try likely subtags
             rgStatus = U_ZERO_ERROR;
             rgStatus = U_ZERO_ERROR;
             icu::CharString locBuf;
             icu::CharString locBuf;
             {
             {

+ 3 - 3
thirdparty/icu4c/common/loclikelysubtags.cpp

@@ -233,7 +233,7 @@ private:
                 return false;
                 return false;
             }
             }
             for (int i = 0; i < length; ++i) {
             for (int i = 0; i < length; ++i) {
-                stringArray.getValue(i, value);  // returns TRUE because i < length
+                stringArray.getValue(i, value);  // returns true because i < length
                 rawIndexes[i] = strings.add(value.getUnicodeString(errorCode), errorCode);
                 rawIndexes[i] = strings.add(value.getUnicodeString(errorCode), errorCode);
                 if (U_FAILURE(errorCode)) { return false; }
                 if (U_FAILURE(errorCode)) { return false; }
             }
             }
@@ -245,13 +245,13 @@ private:
 namespace {
 namespace {
 
 
 XLikelySubtags *gLikelySubtags = nullptr;
 XLikelySubtags *gLikelySubtags = nullptr;
-UInitOnce gInitOnce = U_INITONCE_INITIALIZER;
+UInitOnce gInitOnce {};
 
 
 UBool U_CALLCONV cleanup() {
 UBool U_CALLCONV cleanup() {
     delete gLikelySubtags;
     delete gLikelySubtags;
     gLikelySubtags = nullptr;
     gLikelySubtags = nullptr;
     gInitOnce.reset();
     gInitOnce.reset();
-    return TRUE;
+    return true;
 }
 }
 
 
 }  // namespace
 }  // namespace

+ 4 - 4
thirdparty/icu4c/common/locmap.cpp

@@ -1053,7 +1053,7 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
 {
 {
     uint16_t langID;
     uint16_t langID;
     uint32_t localeIndex;
     uint32_t localeIndex;
-    UBool bLookup = TRUE;
+    UBool bLookup = true;
     const char *pPosixID = NULL;
     const char *pPosixID = NULL;
 
 
 #if U_PLATFORM_HAS_WIN32_API && UCONFIG_USE_WINDOWS_LCID_MAPPING_API
 #if U_PLATFORM_HAS_WIN32_API && UCONFIG_USE_WINDOWS_LCID_MAPPING_API
@@ -1074,7 +1074,7 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
         if (tmpLen > 1) {
         if (tmpLen > 1) {
             int32_t i = 0;
             int32_t i = 0;
             // Only need to look up in table if have _, eg for de-de_phoneb type alternate sort.
             // Only need to look up in table if have _, eg for de-de_phoneb type alternate sort.
-            bLookup = FALSE;
+            bLookup = false;
             for (i = 0; i < UPRV_LENGTHOF(locName); i++)
             for (i = 0; i < UPRV_LENGTHOF(locName); i++)
             {
             {
                 locName[i] = (char)(windowsLocaleName[i]);
                 locName[i] = (char)(windowsLocaleName[i]);
@@ -1088,7 +1088,7 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
                     // TODO: Should these be mapped from _phoneb to @collation=phonebook, etc.?
                     // TODO: Should these be mapped from _phoneb to @collation=phonebook, etc.?
                     locName[i] = '\0';
                     locName[i] = '\0';
                     tmpLen = i;
                     tmpLen = i;
-                    bLookup = TRUE;
+                    bLookup = true;
                     break;
                     break;
                 }
                 }
                 else if (windowsLocaleName[i] == L'-')
                 else if (windowsLocaleName[i] == L'-')
@@ -1201,7 +1201,7 @@ uprv_convertToLCIDPlatform(const char* localeID, UErrorCode* status)
 
 
     char asciiBCP47Tag[LOCALE_NAME_MAX_LENGTH] = {};
     char asciiBCP47Tag[LOCALE_NAME_MAX_LENGTH] = {};
     // this will change it from de_DE@collation=phonebook to de-DE-u-co-phonebk form
     // this will change it from de_DE@collation=phonebook to de-DE-u-co-phonebk form
-    (void)uloc_toLanguageTag(mylocaleID, asciiBCP47Tag, UPRV_LENGTHOF(asciiBCP47Tag), FALSE, status);
+    (void)uloc_toLanguageTag(mylocaleID, asciiBCP47Tag, UPRV_LENGTHOF(asciiBCP47Tag), false, status);
 
 
     if (U_SUCCESS(*status))
     if (U_SUCCESS(*status))
     {
     {

+ 2 - 2
thirdparty/icu4c/common/locutil.cpp

@@ -21,7 +21,7 @@
 #include "umutex.h"
 #include "umutex.h"
 
 
 // see LocaleUtility::getAvailableLocaleNames
 // see LocaleUtility::getAvailableLocaleNames
-static icu::UInitOnce   LocaleUtilityInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce   LocaleUtilityInitOnce {};
 static icu::Hashtable * LocaleUtility_cache = NULL;
 static icu::Hashtable * LocaleUtility_cache = NULL;
 
 
 #define UNDERSCORE_CHAR ((UChar)0x005f)
 #define UNDERSCORE_CHAR ((UChar)0x005f)
@@ -41,7 +41,7 @@ static UBool U_CALLCONV service_cleanup(void) {
         delete LocaleUtility_cache;
         delete LocaleUtility_cache;
         LocaleUtility_cache = NULL;
         LocaleUtility_cache = NULL;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 
 

+ 1 - 1
thirdparty/icu4c/common/messageimpl.h

@@ -55,7 +55,7 @@ public:
                                                             UnicodeString &result);
                                                             UnicodeString &result);
 
 
 private:
 private:
-    MessageImpl();  // no constructor: all static methods
+    MessageImpl() = delete;  // no constructor: all static methods
 };
 };
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END

+ 37 - 37
thirdparty/icu4c/common/messagepattern.cpp

@@ -97,9 +97,9 @@ public:
     UBool ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode);
     UBool ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode);
     UBool equals(const MessagePatternList<T, stackCapacity> &other, int32_t length) const {
     UBool equals(const MessagePatternList<T, stackCapacity> &other, int32_t length) const {
         for(int32_t i=0; i<length; ++i) {
         for(int32_t i=0; i<length; ++i) {
-            if(a[i]!=other.a[i]) { return FALSE; }
+            if(a[i]!=other.a[i]) { return false; }
         }
         }
-        return TRUE;
+        return true;
     }
     }
 
 
     MaybeStackArray<T, stackCapacity> a;
     MaybeStackArray<T, stackCapacity> a;
@@ -124,13 +124,13 @@ template<typename T, int32_t stackCapacity>
 UBool
 UBool
 MessagePatternList<T, stackCapacity>::ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode) {
 MessagePatternList<T, stackCapacity>::ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode) {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     if(a.getCapacity()>oldLength || a.resize(2*oldLength, oldLength)!=NULL) {
     if(a.getCapacity()>oldLength || a.resize(2*oldLength, oldLength)!=NULL) {
-        return TRUE;
+        return true;
     }
     }
     errorCode=U_MEMORY_ALLOCATION_ERROR;
     errorCode=U_MEMORY_ALLOCATION_ERROR;
-    return FALSE;
+    return false;
 }
 }
 
 
 // MessagePatternList specializations -------------------------------------- ***
 // MessagePatternList specializations -------------------------------------- ***
@@ -147,7 +147,7 @@ MessagePattern::MessagePattern(UErrorCode &errorCode)
         : aposMode(UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE),
         : aposMode(UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE),
           partsList(NULL), parts(NULL), partsLength(0),
           partsList(NULL), parts(NULL), partsLength(0),
           numericValuesList(NULL), numericValues(NULL), numericValuesLength(0),
           numericValuesList(NULL), numericValues(NULL), numericValuesLength(0),
-          hasArgNames(FALSE), hasArgNumbers(FALSE), needsAutoQuoting(FALSE) {
+          hasArgNames(false), hasArgNumbers(false), needsAutoQuoting(false) {
     init(errorCode);
     init(errorCode);
 }
 }
 
 
@@ -155,7 +155,7 @@ MessagePattern::MessagePattern(UMessagePatternApostropheMode mode, UErrorCode &e
         : aposMode(mode),
         : aposMode(mode),
           partsList(NULL), parts(NULL), partsLength(0),
           partsList(NULL), parts(NULL), partsLength(0),
           numericValuesList(NULL), numericValues(NULL), numericValuesLength(0),
           numericValuesList(NULL), numericValues(NULL), numericValuesLength(0),
-          hasArgNames(FALSE), hasArgNumbers(FALSE), needsAutoQuoting(FALSE) {
+          hasArgNames(false), hasArgNumbers(false), needsAutoQuoting(false) {
     init(errorCode);
     init(errorCode);
 }
 }
 
 
@@ -163,7 +163,7 @@ MessagePattern::MessagePattern(const UnicodeString &pattern, UParseError *parseE
         : aposMode(UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE),
         : aposMode(UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE),
           partsList(NULL), parts(NULL), partsLength(0),
           partsList(NULL), parts(NULL), partsLength(0),
           numericValuesList(NULL), numericValues(NULL), numericValuesLength(0),
           numericValuesList(NULL), numericValues(NULL), numericValuesLength(0),
-          hasArgNames(FALSE), hasArgNumbers(FALSE), needsAutoQuoting(FALSE) {
+          hasArgNames(false), hasArgNumbers(false), needsAutoQuoting(false) {
     if(init(errorCode)) {
     if(init(errorCode)) {
         parse(pattern, parseError, errorCode);
         parse(pattern, parseError, errorCode);
     }
     }
@@ -172,15 +172,15 @@ MessagePattern::MessagePattern(const UnicodeString &pattern, UParseError *parseE
 UBool
 UBool
 MessagePattern::init(UErrorCode &errorCode) {
 MessagePattern::init(UErrorCode &errorCode) {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     partsList=new MessagePatternPartsList();
     partsList=new MessagePatternPartsList();
     if(partsList==NULL) {
     if(partsList==NULL) {
         errorCode=U_MEMORY_ALLOCATION_ERROR;
         errorCode=U_MEMORY_ALLOCATION_ERROR;
-        return FALSE;
+        return false;
     }
     }
     parts=partsList->a.getAlias();
     parts=partsList->a.getAlias();
-    return TRUE;
+    return true;
 }
 }
 
 
 MessagePattern::MessagePattern(const MessagePattern &other)
 MessagePattern::MessagePattern(const MessagePattern &other)
@@ -215,7 +215,7 @@ MessagePattern::operator=(const MessagePattern &other) {
 UBool
 UBool
 MessagePattern::copyStorage(const MessagePattern &other, UErrorCode &errorCode) {
 MessagePattern::copyStorage(const MessagePattern &other, UErrorCode &errorCode) {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     parts=NULL;
     parts=NULL;
     partsLength=0;
     partsLength=0;
@@ -225,14 +225,14 @@ MessagePattern::copyStorage(const MessagePattern &other, UErrorCode &errorCode)
         partsList=new MessagePatternPartsList();
         partsList=new MessagePatternPartsList();
         if(partsList==NULL) {
         if(partsList==NULL) {
             errorCode=U_MEMORY_ALLOCATION_ERROR;
             errorCode=U_MEMORY_ALLOCATION_ERROR;
-            return FALSE;
+            return false;
         }
         }
         parts=partsList->a.getAlias();
         parts=partsList->a.getAlias();
     }
     }
     if(other.partsLength>0) {
     if(other.partsLength>0) {
         partsList->copyFrom(*other.partsList, other.partsLength, errorCode);
         partsList->copyFrom(*other.partsList, other.partsLength, errorCode);
         if(U_FAILURE(errorCode)) {
         if(U_FAILURE(errorCode)) {
-            return FALSE;
+            return false;
         }
         }
         parts=partsList->a.getAlias();
         parts=partsList->a.getAlias();
         partsLength=other.partsLength;
         partsLength=other.partsLength;
@@ -242,19 +242,19 @@ MessagePattern::copyStorage(const MessagePattern &other, UErrorCode &errorCode)
             numericValuesList=new MessagePatternDoubleList();
             numericValuesList=new MessagePatternDoubleList();
             if(numericValuesList==NULL) {
             if(numericValuesList==NULL) {
                 errorCode=U_MEMORY_ALLOCATION_ERROR;
                 errorCode=U_MEMORY_ALLOCATION_ERROR;
-                return FALSE;
+                return false;
             }
             }
             numericValues=numericValuesList->a.getAlias();
             numericValues=numericValuesList->a.getAlias();
         }
         }
         numericValuesList->copyFrom(
         numericValuesList->copyFrom(
             *other.numericValuesList, other.numericValuesLength, errorCode);
             *other.numericValuesList, other.numericValuesLength, errorCode);
         if(U_FAILURE(errorCode)) {
         if(U_FAILURE(errorCode)) {
-            return FALSE;
+            return false;
         }
         }
         numericValues=numericValuesList->a.getAlias();
         numericValues=numericValuesList->a.getAlias();
         numericValuesLength=other.numericValuesLength;
         numericValuesLength=other.numericValuesLength;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 MessagePattern::~MessagePattern() {
 MessagePattern::~MessagePattern() {
@@ -303,8 +303,8 @@ void
 MessagePattern::clear() {
 MessagePattern::clear() {
     // Mostly the same as preParse().
     // Mostly the same as preParse().
     msg.remove();
     msg.remove();
-    hasArgNames=hasArgNumbers=FALSE;
-    needsAutoQuoting=FALSE;
+    hasArgNames=hasArgNumbers=false;
+    needsAutoQuoting=false;
     partsLength=0;
     partsLength=0;
     numericValuesLength=0;
     numericValuesLength=0;
 }
 }
@@ -414,8 +414,8 @@ MessagePattern::preParse(const UnicodeString &pattern, UParseError *parseError,
         parseError->postContext[0]=0;
         parseError->postContext[0]=0;
     }
     }
     msg=pattern;
     msg=pattern;
-    hasArgNames=hasArgNumbers=FALSE;
-    needsAutoQuoting=FALSE;
+    hasArgNames=hasArgNumbers=false;
+    needsAutoQuoting=false;
     partsLength=0;
     partsLength=0;
     numericValuesLength=0;
     numericValuesLength=0;
 }
 }
@@ -458,7 +458,7 @@ MessagePattern::parseMessage(int32_t index, int32_t msgStartLength,
                 // Add a Part for auto-quoting.
                 // Add a Part for auto-quoting.
                 addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0,
                 addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0,
                         u_apos, errorCode);  // value=char to be inserted
                         u_apos, errorCode);  // value=char to be inserted
-                needsAutoQuoting=TRUE;
+                needsAutoQuoting=true;
             } else {
             } else {
                 c=msg.charAt(index);
                 c=msg.charAt(index);
                 if(c==u_apos) {
                 if(c==u_apos) {
@@ -491,7 +491,7 @@ MessagePattern::parseMessage(int32_t index, int32_t msgStartLength,
                             // Add a Part for auto-quoting.
                             // Add a Part for auto-quoting.
                             addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0,
                             addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0,
                                     u_apos, errorCode);  // value=char to be inserted
                                     u_apos, errorCode);  // value=char to be inserted
-                            needsAutoQuoting=TRUE;
+                            needsAutoQuoting=true;
                             break;
                             break;
                         }
                         }
                     }
                     }
@@ -500,7 +500,7 @@ MessagePattern::parseMessage(int32_t index, int32_t msgStartLength,
                     // Add a Part for auto-quoting.
                     // Add a Part for auto-quoting.
                     addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0,
                     addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0,
                             u_apos, errorCode);  // value=char to be inserted
                             u_apos, errorCode);  // value=char to be inserted
-                    needsAutoQuoting=TRUE;
+                    needsAutoQuoting=true;
                 }
                 }
             }
             }
         } else if(UMSGPAT_ARG_TYPE_HAS_PLURAL_STYLE(parentType) && c==u_pound) {
         } else if(UMSGPAT_ARG_TYPE_HAS_PLURAL_STYLE(parentType) && c==u_pound) {
@@ -560,7 +560,7 @@ MessagePattern::parseArg(int32_t index, int32_t argStartLength, int32_t nestingL
             errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
             errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
             return 0;
             return 0;
         }
         }
-        hasArgNumbers=TRUE;
+        hasArgNumbers=true;
         addPart(UMSGPAT_PART_TYPE_ARG_NUMBER, nameIndex, length, number, errorCode);
         addPart(UMSGPAT_PART_TYPE_ARG_NUMBER, nameIndex, length, number, errorCode);
     } else if(number==UMSGPAT_ARG_NAME_NOT_NUMBER) {
     } else if(number==UMSGPAT_ARG_NAME_NOT_NUMBER) {
         int32_t length=index-nameIndex;
         int32_t length=index-nameIndex;
@@ -569,7 +569,7 @@ MessagePattern::parseArg(int32_t index, int32_t argStartLength, int32_t nestingL
             errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
             errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
             return 0;
             return 0;
         }
         }
-        hasArgNames=TRUE;
+        hasArgNames=true;
         addPart(UMSGPAT_PART_TYPE_ARG_NAME, nameIndex, length, 0, errorCode);
         addPart(UMSGPAT_PART_TYPE_ARG_NAME, nameIndex, length, 0, errorCode);
     } else {  // number<-1 (ARG_NAME_NOT_VALID)
     } else {  // number<-1 (ARG_NAME_NOT_VALID)
         setParseError(parseError, nameIndex);  // Bad argument syntax.
         setParseError(parseError, nameIndex);  // Bad argument syntax.
@@ -727,7 +727,7 @@ MessagePattern::parseChoiceStyle(int32_t index, int32_t nestingLevel,
             errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
             errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
             return 0;
             return 0;
         }
         }
-        parseDouble(numberIndex, index, TRUE, parseError, errorCode);  // adds ARG_INT or ARG_DOUBLE
+        parseDouble(numberIndex, index, true, parseError, errorCode);  // adds ARG_INT or ARG_DOUBLE
         if(U_FAILURE(errorCode)) {
         if(U_FAILURE(errorCode)) {
             return 0;
             return 0;
         }
         }
@@ -774,8 +774,8 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
         return 0;
         return 0;
     }
     }
     int32_t start=index;
     int32_t start=index;
-    UBool isEmpty=TRUE;
-    UBool hasOther=FALSE;
+    UBool isEmpty=true;
+    UBool hasOther=false;
     for(;;) {
     for(;;) {
         // First, collect the selector looking for a small set of terminators.
         // First, collect the selector looking for a small set of terminators.
         // It would be a little faster to consider the syntax of each possible
         // It would be a little faster to consider the syntax of each possible
@@ -811,7 +811,7 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
                 return 0;
                 return 0;
             }
             }
             addPart(UMSGPAT_PART_TYPE_ARG_SELECTOR, selectorIndex, length, 0, errorCode);
             addPart(UMSGPAT_PART_TYPE_ARG_SELECTOR, selectorIndex, length, 0, errorCode);
-            parseDouble(selectorIndex+1, index, FALSE,
+            parseDouble(selectorIndex+1, index, false,
                         parseError, errorCode);  // adds ARG_INT or ARG_DOUBLE
                         parseError, errorCode);  // adds ARG_INT or ARG_DOUBLE
         } else {
         } else {
             index=skipIdentifier(index);
             index=skipIdentifier(index);
@@ -845,12 +845,12 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
                     errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
                     errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
                     return 0;
                     return 0;
                 }
                 }
-                parseDouble(valueIndex, index, FALSE,
+                parseDouble(valueIndex, index, false,
                             parseError, errorCode);  // adds ARG_INT or ARG_DOUBLE
                             parseError, errorCode);  // adds ARG_INT or ARG_DOUBLE
                 if(U_FAILURE(errorCode)) {
                 if(U_FAILURE(errorCode)) {
                     return 0;
                     return 0;
                 }
                 }
-                isEmpty=FALSE;
+                isEmpty=false;
                 continue;  // no message fragment after the offset
                 continue;  // no message fragment after the offset
             } else {
             } else {
                 // normal selector word
                 // normal selector word
@@ -861,7 +861,7 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
                 }
                 }
                 addPart(UMSGPAT_PART_TYPE_ARG_SELECTOR, selectorIndex, length, 0, errorCode);
                 addPart(UMSGPAT_PART_TYPE_ARG_SELECTOR, selectorIndex, length, 0, errorCode);
                 if(0==msg.compare(selectorIndex, length, kOther, 0, 5)) {
                 if(0==msg.compare(selectorIndex, length, kOther, 0, 5)) {
-                    hasOther=TRUE;
+                    hasOther=true;
                 }
                 }
             }
             }
         }
         }
@@ -880,7 +880,7 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
         if(U_FAILURE(errorCode)) {
         if(U_FAILURE(errorCode)) {
             return 0;
             return 0;
         }
         }
-        isEmpty=FALSE;
+        isEmpty=false;
     }
     }
 }
 }
 
 
@@ -901,11 +901,11 @@ MessagePattern::parseArgNumber(const UnicodeString &s, int32_t start, int32_t li
             return 0;
             return 0;
         } else {
         } else {
             number=0;
             number=0;
-            badNumber=TRUE;  // leading zero
+            badNumber=true;  // leading zero
         }
         }
     } else if(0x31<=c && c<=0x39) {
     } else if(0x31<=c && c<=0x39) {
         number=c-0x30;
         number=c-0x30;
-        badNumber=FALSE;
+        badNumber=false;
     } else {
     } else {
         return UMSGPAT_ARG_NAME_NOT_NUMBER;
         return UMSGPAT_ARG_NAME_NOT_NUMBER;
     }
     }
@@ -913,7 +913,7 @@ MessagePattern::parseArgNumber(const UnicodeString &s, int32_t start, int32_t li
         c=s.charAt(start++);
         c=s.charAt(start++);
         if(0x30<=c && c<=0x39) {
         if(0x30<=c && c<=0x39) {
             if(number>=INT32_MAX/10) {
             if(number>=INT32_MAX/10) {
-                badNumber=TRUE;  // overflow
+                badNumber=true;  // overflow
             }
             }
             number=number*10+(c-0x30);
             number=number*10+(c-0x30);
         } else {
         } else {

+ 66 - 64
thirdparty/icu4c/common/norm2_nfc_data.h

@@ -10,14 +10,14 @@
 #ifdef INCLUDED_FROM_NORMALIZER2_CPP
 #ifdef INCLUDED_FROM_NORMALIZER2_CPP
 
 
 static const UVersionInfo norm2_nfc_data_formatVersion={4,0,0,0};
 static const UVersionInfo norm2_nfc_data_formatVersion={4,0,0,0};
-static const UVersionInfo norm2_nfc_data_dataVersion={0xe,0,0,0};
+static const UVersionInfo norm2_nfc_data_dataVersion={0xf,0,0,0};
 
 
 static const int32_t norm2_nfc_data_indexes[Normalizer2Impl::IX_COUNT]={
 static const int32_t norm2_nfc_data_indexes[Normalizer2Impl::IX_COUNT]={
-0x50,0x4c54,0x88bc,0x89bc,0x89bc,0x89bc,0x89bc,0x89bc,0xc0,0x300,0xae2,0x29e0,0x3c66,0xfc00,0x1288,0x3b9c,
+0x50,0x4cb8,0x8920,0x8a20,0x8a20,0x8a20,0x8a20,0x8a20,0xc0,0x300,0xae2,0x29e0,0x3c66,0xfc00,0x1288,0x3b9c,
 0x3c34,0x3c66,0x300,0
 0x3c34,0x3c66,0x300,0
 };
 };
 
 
-static const uint16_t norm2_nfc_data_trieIndex[1748]={
+static const uint16_t norm2_nfc_data_trieIndex[1788]={
 0,0x40,0x7b,0xbb,0xfb,0x13a,0x17a,0x1b2,0x1f2,0x226,0x254,0x226,0x294,0x2d4,0x313,0x353,
 0,0x40,0x7b,0xbb,0xfb,0x13a,0x17a,0x1b2,0x1f2,0x226,0x254,0x226,0x294,0x2d4,0x313,0x353,
 0x393,0x3d2,0x40f,0x44e,0x226,0x226,0x488,0x4c8,0x4f8,0x530,0x226,0x570,0x59f,0x5de,0x226,0x5f3,
 0x393,0x3d2,0x40f,0x44e,0x226,0x226,0x488,0x4c8,0x4f8,0x530,0x226,0x570,0x59f,0x5de,0x226,0x5f3,
 0x631,0x65f,0x687,0x6bd,0x6fd,0x73a,0x75a,0x799,0x7d8,0x815,0x834,0x871,0x75a,0x8aa,0x8d8,0x917,
 0x631,0x65f,0x687,0x6bd,0x6fd,0x73a,0x75a,0x799,0x7d8,0x815,0x834,0x871,0x75a,0x8aa,0x8d8,0x917,
@@ -82,14 +82,14 @@ static const uint16_t norm2_nfc_data_trieIndex[1748]={
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x1880,0x18c0,0x1900,0x1940,0x1980,0x19c0,0x1a00,0x1a40,0x1a63,0x1aa3,0x226,0x226,
 0x226,0x226,0x226,0x226,0x1880,0x18c0,0x1900,0x1940,0x1980,0x19c0,0x1a00,0x1a40,0x1a63,0x1aa3,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ac3,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ac3,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x657,0x666,0x67e,0x69d,0x6b2,0x6b2,0x6b2,0x6b6,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x67e,0x68e,0x6a6,0x6c5,0x6da,0x6da,0x6da,0x6de,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xc0b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xc0b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x54f,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x40c,
 0x226,0x226,0x226,0x226,0x226,0x226,0x54f,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x40c,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1af6,0x226,0x226,0x1b06,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1af6,0x226,0x226,0x1b06,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0xdf7,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0xdf7,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1b16,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1b16,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1607,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1607,0x226,0x226,0x226,0x226,0x66b,0x226,0x226,0x226,
 0x226,0x1b20,0x54f,0x226,0x226,0x1b30,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x81c,0x226,0x226,
 0x226,0x1b20,0x54f,0x226,0x226,0x1b30,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x81c,0x226,0x226,
 0x1b40,0x226,0x1b50,0x1b5d,0x1b69,0x226,0x226,0x226,0x226,0x414,0x226,0x1b74,0x1b84,0x226,0x226,0x226,
 0x1b40,0x226,0x1b50,0x1b5d,0x1b69,0x226,0x226,0x226,0x226,0x414,0x226,0x1b74,0x1b84,0x226,0x226,0x226,
 0x811,0x226,0x226,0x226,0x226,0x1b94,0x226,0x226,0x226,0x1b9f,0x226,0x226,0x226,0x226,0x226,0x226,
 0x811,0x226,0x226,0x226,0x226,0x1b94,0x226,0x226,0x226,0x1b9f,0x226,0x226,0x226,0x226,0x226,0x226,
@@ -104,33 +104,35 @@ static const uint16_t norm2_nfc_data_trieIndex[1748]={
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x9eb,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x9eb,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xc05,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xc05,0x226,0x226,0x226,
 0x226,0x81b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x81b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x1c3d,0x226,0x226,0x226,0xf2c,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0xc08,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x1c3d,0x226,0x226,0x226,0xf2c,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x1c4d,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c4f,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c4d,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x1c4f,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c5e,0x1c6e,0x1c7c,0x1c89,0x226,
+0x1c95,0x1ca3,0x1cb3,0x226,0x226,0x226,0x226,0xd1b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x1c5e,0x1c6e,0x1c7c,0x1c89,0x226,0x1c95,0x1ca3,0x1cb3,0x226,0x226,
-0x226,0x226,0xd1b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1cc3,0x1ccb,
-0x1cd9,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0xf2c,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x7c9,0x226,
-0x226,0x226,0x4fc,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x1ce9,0x226,0x226,0x226,0x226,0x226,0x226,0x1cf5,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1d05,0x1d15,0x1d25,0x1d35,0x1d45,0x1d55,0x1d65,0x1d75,0x1d85,
-0x1d95,0x1da5,0x1db5,0x1dc5,0x1dd5,0x1de5,0x1df5,0x1e05,0x1e15,0x1e25,0x1e35,0x1e45,0x1e55,0x1e65,0x1e75,0x1e85,
-0x1e95,0x1ea5,0x1eb5,0x1ec5,0x1ed5,0x1ee5,0x1ef5,0x1f05,0x1f15,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x1cc3,0x1ccb,0x1cd9,0x226,0x226,0x226,0x226,0x226,0x4f9,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0xf2c,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x7c9,0x226,0x226,0x226,0x4fc,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ce4,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1cf4,0x226,0x226,0x226,0x226,
+0x226,0x226,0x1d00,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1d10,0x1d20,
+0x1d30,0x1d40,0x1d50,0x1d60,0x1d70,0x1d80,0x1d90,0x1da0,0x1db0,0x1dc0,0x1dd0,0x1de0,0x1df0,0x1e00,0x1e10,0x1e20,
+0x1e30,0x1e40,0x1e50,0x1e60,0x1e70,0x1e80,0x1e90,0x1ea0,0x1eb0,0x1ec0,0x1ed0,0x1ee0,0x1ef0,0x1f00,0x1f10,0x1f20,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x408,0x428,0xc4,0xc4,0xc4,0x448,0x457,0x46d,0x489,
-0x4a6,0x4c2,0x4df,0x4fc,0x51b,0x538,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
-0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x552,0xc4,0x566,0xc4,0xc4,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x408,0x428,
+0xc4,0xc4,0xc4,0x448,0x457,0x46d,0x489,0x4a6,0x4c2,0x4df,0x4fc,0x51b,0x538,0x552,0xc4,0xc4,
 0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
 0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
-0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x586,0xc4,0xc4,0xc4,
-0xc4,0xc4,0xc4,0xc4,0xc4,0x591,0x5ae,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x5ce,0x5e4,0xc4,
-0xc4,0x5f7,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
+0xc4,0xc4,0xc4,0x567,0xc4,0x57b,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
 0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
 0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
-0xc4,0xc4,0x617,0x637
+0xc4,0xc4,0xc4,0xc4,0x59b,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x5a6,0x5c3,0xc4,
+0xc4,0xc4,0xc4,0xc4,0xc4,0x5e3,0x5f9,0x60b,0xc4,0x61e,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
+0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
+0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x63e,0x65e
 };
 };
 
 
-static const uint16_t norm2_nfc_data_trieData[7974]={
+static const uint16_t norm2_nfc_data_trieData[7984]={
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
@@ -518,7 +520,7 @@ static const uint16_t norm2_nfc_data_trieData[7974]={
 1,1,1,1,1,0x3c66,1,0x3c66,0x3c66,0x3c66,0x3c66,0x3c66,0x3c66,1,1,1,
 1,1,1,1,1,0x3c66,1,0x3c66,0x3c66,0x3c66,0x3c66,0x3c66,0x3c66,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0x3c66,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0x3c66,
 0x3c66,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 0x3c66,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,0x3c66,1,1,1,1,0x3c66,1,1,1,0x3c66,1,0x3c66,
+1,1,1,1,0x3c66,1,1,1,1,0x3c66,1,1,1,0x3c66,0x3c66,0x3c66,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
@@ -593,49 +595,49 @@ static const uint16_t norm2_nfc_data_trieData[7974]={
 0x3304,0x331c,0x3334,0x334c,1,1,1,1,1,1,1,1,1,1,1,1,
 0x3304,0x331c,0x3334,0x334c,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
 1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
 0xffcc,0xffcc,0xffcc,0xffcc,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,1,0xffcc,
 0xffcc,0xffcc,0xffcc,0xffcc,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,1,0xffcc,
-0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,
-1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xfe0e,
-1,1,1,1,1,0x335b,0x335f,0x3363,0x3367,0x336d,0x2f4d,0x3371,0x3375,0x3379,0x337d,0x2f51,
-0x3381,0x3385,0x3389,0x2f55,0x338f,0x3393,0x3397,0x339b,0x33a1,0x33a5,0x33a9,0x33ad,0x33b3,0x33b7,0x33bb,0x33bf,
-0x303f,0x33c3,0x33c9,0x33cd,0x33d1,0x33d5,0x33d9,0x33dd,0x33e1,0x33e5,0x3053,0x2f59,0x2f5d,0x3057,0x33e9,0x33ed,
-0x2c59,0x33f1,0x2f61,0x33f5,0x33f9,0x33fd,0x3401,0x3401,0x3401,0x3405,0x340b,0x340f,0x3413,0x3417,0x341d,0x3421,
-0x3425,0x3429,0x342d,0x3431,0x3435,0x3439,0x343d,0x3441,0x3445,0x3449,0x344d,0x344d,0x305f,0x3451,0x3455,0x3459,
-0x345d,0x2f69,0x3461,0x3465,0x3469,0x2ebd,0x346d,0x3471,0x3475,0x3479,0x347d,0x3481,0x3485,0x3489,0x348d,0x3493,
-0x3497,0x349b,0x349f,0x34a3,0x34a7,0x34ab,0x34b1,0x34b7,0x34bb,0x34bf,0x34c3,0x34c7,0x34cb,0x34cf,0x34d3,0x34d7,
-0x34d7,0x34db,0x34e1,0x34e5,0x2c49,0x34e9,0x34ed,0x34f3,0x34f7,0x34fb,0x34ff,0x3503,0x3507,0x2f7d,0x350b,0x350f,
-0x3513,0x3519,0x351d,0x3523,0x3527,0x352b,0x352f,0x3533,0x3537,0x353b,0x353f,0x3543,0x3547,0x354b,0x354f,0x3555,
-0x3559,0x355d,0x3561,0x2b71,0x3565,0x356b,0x356f,0x356f,0x3575,0x3579,0x3579,0x357d,0x3581,0x3587,0x358d,0x3591,
-0x3595,0x3599,0x359d,0x35a1,0x35a5,0x35a9,0x35ad,0x35b1,0x2f81,0x35b5,0x35bb,0x35bf,0x35c3,0x308f,0x35c3,0x35c7,
-0x2f89,0x35cb,0x35cf,0x35d3,0x35d7,0x2f8d,0x2b05,0x35db,0x35df,0x35e3,0x35e7,0x35eb,0x35ef,0x35f3,0x35f9,0x35fd,
-0x3601,0x3605,0x3609,0x360d,0x3613,0x3617,0x361b,0x361f,0x3623,0x3627,0x362b,0x362f,0x3633,0x2f91,0x3637,0x363b,
-0x3641,0x3645,0x3649,0x364d,0x2f99,0x3651,0x3655,0x3659,0x365d,0x3661,0x3665,0x3669,0x366d,0x2b75,0x30af,0x3671,
-0x3675,0x3679,0x367d,0x3683,0x3687,0x368b,0x368f,0x2f9d,0x3693,0x3699,0x369d,0x36a1,0x3161,0x36a5,0x36a9,0x36ad,
-0x36b1,0x36b5,0x36bb,0x36bf,0x36c3,0x36c7,0x36cd,0x36d1,0x36d5,0x36d9,0x2c8d,0x36dd,0x36e1,0x36e7,0x36ed,0x36f3,
-0x36f7,0x36fd,0x3701,0x3705,0x3709,0x370d,0x2fa1,0x2de9,0x3711,0x3715,0x3719,0x371d,0x3723,0x3727,0x372b,0x372f,
-0x30bf,0x3733,0x3737,0x373d,0x3741,0x3745,0x374b,0x3751,0x3755,0x30c3,0x3759,0x375d,0x3761,0x3765,0x3769,0x376d,
-0x3771,0x3777,0x377b,0x3781,0x3785,0x378b,0x30cb,0x378f,0x3793,0x3799,0x379d,0x37a1,0x37a7,0x37ad,0x37b1,0x37b5,
-0x37b9,0x37bd,0x37bd,0x37c1,0x37c5,0x30d3,0x37c9,0x37cd,0x37d1,0x37d5,0x37d9,0x37df,0x37e3,0x2c55,0x37e9,0x37ef,
-0x37f3,0x37f9,0x37ff,0x3805,0x3809,0x30eb,0x380d,0x3813,0x3819,0x381f,0x3825,0x3829,0x3829,0x30ef,0x3169,0x382d,
-0x3831,0x3835,0x3839,0x383f,0x2bbd,0x30f7,0x3843,0x3847,0x2fcd,0x384d,0x3853,0x2f15,0x3859,0x385d,0x2fdd,0x3861,
-0x3865,0x3869,0x386f,0x386f,0x3875,0x3879,0x387d,0x3883,0x3887,0x388b,0x388f,0x3895,0x3899,0x389d,0x38a1,0x38a5,
-0x38a9,0x38af,0x38b3,0x38b7,0x38bb,0x38bf,0x38c3,0x38c7,0x38cd,0x38d3,0x38d7,0x38dd,0x38e1,0x38e7,0x38eb,0x2ff5,
-0x38ef,0x38f5,0x38fb,0x38ff,0x3905,0x3909,0x390f,0x3913,0x3917,0x391b,0x391f,0x3923,0x3927,0x392d,0x3933,0x3939,
-0x3575,0x393f,0x3943,0x3947,0x394b,0x394f,0x3953,0x3957,0x395b,0x395f,0x3963,0x3967,0x396b,0x2c9d,0x3971,0x3975,
-0x3979,0x397d,0x3981,0x3985,0x3001,0x3989,0x398d,0x3991,0x3995,0x3999,0x399f,0x39a5,0x39ab,0x39af,0x39b3,0x39b7,
-0x39bb,0x39c1,0x39c5,0x39cb,0x39cf,0x39d3,0x39d9,0x39df,0x39e3,0x2ba9,0x39e7,0x39eb,0x39ef,0x39f3,0x39f7,0x39fb,
-0x3113,0x39ff,0x3a03,0x3a07,0x3a0b,0x3a0f,0x3a13,0x3a17,0x3a1b,0x3a1f,0x3a23,0x3a29,0x3a2d,0x3a31,0x3a35,0x3a39,
-0x3a3d,0x3a43,0x3a49,0x3a4d,0x3a51,0x3127,0x312b,0x3a55,0x3a59,0x3a5f,0x3a63,0x3a67,0x3a6b,0x3a6f,0x3a75,0x3a7b,
-0x3a7f,0x3a83,0x3a87,0x3a8d,0x312f,0x3a91,0x3a97,0x3a9d,0x3aa1,0x3aa5,0x3aa9,0x3aaf,0x3ab3,0x3ab7,0x3abb,0x3abf,
-0x3ac3,0x3ac7,0x3acb,0x3ad1,0x3ad5,0x3ad9,0x3add,0x3ae3,0x3ae7,0x3aeb,0x3aef,0x3af3,0x3af9,0x3aff,0x3b03,0x3b07,
-0x3b0b,0x3b11,0x3b15,0x3147,0x3147,0x3b1b,0x3b1f,0x3b25,0x3b29,0x3b2d,0x3b31,0x3b35,0x3b39,0x3b3d,0x3b41,0x314b,
-0x3b47,0x3b4b,0x3b4f,0x3b53,0x3b57,0x3b5b,0x3b61,0x3b65,0x3b6b,0x3b71,0x3b77,0x3b7b,0x3b7f,0x3b83,0x3b87,0x3b8b,
-0x3b8f,0x3b93,0x3b97,1,1,1
+0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,1,1,1,
+0xffd0,0xffd0,0xffb8,0xffcc,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,1,1,1,1,1,
+1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xfe0e,1,1,1,1,1,
+0x335b,0x335f,0x3363,0x3367,0x336d,0x2f4d,0x3371,0x3375,0x3379,0x337d,0x2f51,0x3381,0x3385,0x3389,0x2f55,0x338f,
+0x3393,0x3397,0x339b,0x33a1,0x33a5,0x33a9,0x33ad,0x33b3,0x33b7,0x33bb,0x33bf,0x303f,0x33c3,0x33c9,0x33cd,0x33d1,
+0x33d5,0x33d9,0x33dd,0x33e1,0x33e5,0x3053,0x2f59,0x2f5d,0x3057,0x33e9,0x33ed,0x2c59,0x33f1,0x2f61,0x33f5,0x33f9,
+0x33fd,0x3401,0x3401,0x3401,0x3405,0x340b,0x340f,0x3413,0x3417,0x341d,0x3421,0x3425,0x3429,0x342d,0x3431,0x3435,
+0x3439,0x343d,0x3441,0x3445,0x3449,0x344d,0x344d,0x305f,0x3451,0x3455,0x3459,0x345d,0x2f69,0x3461,0x3465,0x3469,
+0x2ebd,0x346d,0x3471,0x3475,0x3479,0x347d,0x3481,0x3485,0x3489,0x348d,0x3493,0x3497,0x349b,0x349f,0x34a3,0x34a7,
+0x34ab,0x34b1,0x34b7,0x34bb,0x34bf,0x34c3,0x34c7,0x34cb,0x34cf,0x34d3,0x34d7,0x34d7,0x34db,0x34e1,0x34e5,0x2c49,
+0x34e9,0x34ed,0x34f3,0x34f7,0x34fb,0x34ff,0x3503,0x3507,0x2f7d,0x350b,0x350f,0x3513,0x3519,0x351d,0x3523,0x3527,
+0x352b,0x352f,0x3533,0x3537,0x353b,0x353f,0x3543,0x3547,0x354b,0x354f,0x3555,0x3559,0x355d,0x3561,0x2b71,0x3565,
+0x356b,0x356f,0x356f,0x3575,0x3579,0x3579,0x357d,0x3581,0x3587,0x358d,0x3591,0x3595,0x3599,0x359d,0x35a1,0x35a5,
+0x35a9,0x35ad,0x35b1,0x2f81,0x35b5,0x35bb,0x35bf,0x35c3,0x308f,0x35c3,0x35c7,0x2f89,0x35cb,0x35cf,0x35d3,0x35d7,
+0x2f8d,0x2b05,0x35db,0x35df,0x35e3,0x35e7,0x35eb,0x35ef,0x35f3,0x35f9,0x35fd,0x3601,0x3605,0x3609,0x360d,0x3613,
+0x3617,0x361b,0x361f,0x3623,0x3627,0x362b,0x362f,0x3633,0x2f91,0x3637,0x363b,0x3641,0x3645,0x3649,0x364d,0x2f99,
+0x3651,0x3655,0x3659,0x365d,0x3661,0x3665,0x3669,0x366d,0x2b75,0x30af,0x3671,0x3675,0x3679,0x367d,0x3683,0x3687,
+0x368b,0x368f,0x2f9d,0x3693,0x3699,0x369d,0x36a1,0x3161,0x36a5,0x36a9,0x36ad,0x36b1,0x36b5,0x36bb,0x36bf,0x36c3,
+0x36c7,0x36cd,0x36d1,0x36d5,0x36d9,0x2c8d,0x36dd,0x36e1,0x36e7,0x36ed,0x36f3,0x36f7,0x36fd,0x3701,0x3705,0x3709,
+0x370d,0x2fa1,0x2de9,0x3711,0x3715,0x3719,0x371d,0x3723,0x3727,0x372b,0x372f,0x30bf,0x3733,0x3737,0x373d,0x3741,
+0x3745,0x374b,0x3751,0x3755,0x30c3,0x3759,0x375d,0x3761,0x3765,0x3769,0x376d,0x3771,0x3777,0x377b,0x3781,0x3785,
+0x378b,0x30cb,0x378f,0x3793,0x3799,0x379d,0x37a1,0x37a7,0x37ad,0x37b1,0x37b5,0x37b9,0x37bd,0x37bd,0x37c1,0x37c5,
+0x30d3,0x37c9,0x37cd,0x37d1,0x37d5,0x37d9,0x37df,0x37e3,0x2c55,0x37e9,0x37ef,0x37f3,0x37f9,0x37ff,0x3805,0x3809,
+0x30eb,0x380d,0x3813,0x3819,0x381f,0x3825,0x3829,0x3829,0x30ef,0x3169,0x382d,0x3831,0x3835,0x3839,0x383f,0x2bbd,
+0x30f7,0x3843,0x3847,0x2fcd,0x384d,0x3853,0x2f15,0x3859,0x385d,0x2fdd,0x3861,0x3865,0x3869,0x386f,0x386f,0x3875,
+0x3879,0x387d,0x3883,0x3887,0x388b,0x388f,0x3895,0x3899,0x389d,0x38a1,0x38a5,0x38a9,0x38af,0x38b3,0x38b7,0x38bb,
+0x38bf,0x38c3,0x38c7,0x38cd,0x38d3,0x38d7,0x38dd,0x38e1,0x38e7,0x38eb,0x2ff5,0x38ef,0x38f5,0x38fb,0x38ff,0x3905,
+0x3909,0x390f,0x3913,0x3917,0x391b,0x391f,0x3923,0x3927,0x392d,0x3933,0x3939,0x3575,0x393f,0x3943,0x3947,0x394b,
+0x394f,0x3953,0x3957,0x395b,0x395f,0x3963,0x3967,0x396b,0x2c9d,0x3971,0x3975,0x3979,0x397d,0x3981,0x3985,0x3001,
+0x3989,0x398d,0x3991,0x3995,0x3999,0x399f,0x39a5,0x39ab,0x39af,0x39b3,0x39b7,0x39bb,0x39c1,0x39c5,0x39cb,0x39cf,
+0x39d3,0x39d9,0x39df,0x39e3,0x2ba9,0x39e7,0x39eb,0x39ef,0x39f3,0x39f7,0x39fb,0x3113,0x39ff,0x3a03,0x3a07,0x3a0b,
+0x3a0f,0x3a13,0x3a17,0x3a1b,0x3a1f,0x3a23,0x3a29,0x3a2d,0x3a31,0x3a35,0x3a39,0x3a3d,0x3a43,0x3a49,0x3a4d,0x3a51,
+0x3127,0x312b,0x3a55,0x3a59,0x3a5f,0x3a63,0x3a67,0x3a6b,0x3a6f,0x3a75,0x3a7b,0x3a7f,0x3a83,0x3a87,0x3a8d,0x312f,
+0x3a91,0x3a97,0x3a9d,0x3aa1,0x3aa5,0x3aa9,0x3aaf,0x3ab3,0x3ab7,0x3abb,0x3abf,0x3ac3,0x3ac7,0x3acb,0x3ad1,0x3ad5,
+0x3ad9,0x3add,0x3ae3,0x3ae7,0x3aeb,0x3aef,0x3af3,0x3af9,0x3aff,0x3b03,0x3b07,0x3b0b,0x3b11,0x3b15,0x3147,0x3147,
+0x3b1b,0x3b1f,0x3b25,0x3b29,0x3b2d,0x3b31,0x3b35,0x3b39,0x3b3d,0x3b41,0x314b,0x3b47,0x3b4b,0x3b4f,0x3b53,0x3b57,
+0x3b5b,0x3b61,0x3b65,0x3b6b,0x3b71,0x3b77,0x3b7b,0x3b7f,0x3b83,0x3b87,0x3b8b,0x3b8f,0x3b93,0x3b97,1,1
 };
 };
 
 
 static const UCPTrie norm2_nfc_data_trie={
 static const UCPTrie norm2_nfc_data_trie={
     norm2_nfc_data_trieIndex,
     norm2_nfc_data_trieIndex,
     { norm2_nfc_data_trieData },
     { norm2_nfc_data_trieData },
-    1748, 7974,
+    1788, 7984,
     0x2fc00, 0x30,
     0x2fc00, 0x30,
     0, 0,
     0, 0,
     0, 0,
     0, 0,

+ 10 - 10
thirdparty/icu4c/common/normalizer2.cpp

@@ -62,7 +62,7 @@ Normalizer2::normalizeUTF8(uint32_t /*options*/, StringPiece src, ByteSink &sink
 
 
 UBool
 UBool
 Normalizer2::getRawDecomposition(UChar32, UnicodeString &) const {
 Normalizer2::getRawDecomposition(UChar32, UnicodeString &) const {
-    return FALSE;
+    return false;
 }
 }
 
 
 UChar32
 UChar32
@@ -142,7 +142,7 @@ class NoopNormalizer2 : public Normalizer2 {
     }
     }
     virtual UBool
     virtual UBool
     getDecomposition(UChar32, UnicodeString &) const U_OVERRIDE {
     getDecomposition(UChar32, UnicodeString &) const U_OVERRIDE {
-        return FALSE;
+        return false;
     }
     }
     // No need to U_OVERRIDE the default getRawDecomposition().
     // No need to U_OVERRIDE the default getRawDecomposition().
     virtual UBool
     virtual UBool
@@ -161,9 +161,9 @@ class NoopNormalizer2 : public Normalizer2 {
     spanQuickCheckYes(const UnicodeString &s, UErrorCode &) const U_OVERRIDE {
     spanQuickCheckYes(const UnicodeString &s, UErrorCode &) const U_OVERRIDE {
         return s.length();
         return s.length();
     }
     }
-    virtual UBool hasBoundaryBefore(UChar32) const U_OVERRIDE { return TRUE; }
-    virtual UBool hasBoundaryAfter(UChar32) const U_OVERRIDE { return TRUE; }
-    virtual UBool isInert(UChar32) const U_OVERRIDE { return TRUE; }
+    virtual UBool hasBoundaryBefore(UChar32) const U_OVERRIDE { return true; }
+    virtual UBool hasBoundaryAfter(UChar32) const U_OVERRIDE { return true; }
+    virtual UBool isInert(UChar32) const U_OVERRIDE { return true; }
 };
 };
 
 
 NoopNormalizer2::~NoopNormalizer2() {}
 NoopNormalizer2::~NoopNormalizer2() {}
@@ -183,7 +183,7 @@ static UBool U_CALLCONV uprv_normalizer2_cleanup();
 U_CDECL_END
 U_CDECL_END
 
 
 static Normalizer2   *noopSingleton;
 static Normalizer2   *noopSingleton;
-static icu::UInitOnce noopInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce noopInitOnce {};
 
 
 static void U_CALLCONV initNoopSingleton(UErrorCode &errorCode) {
 static void U_CALLCONV initNoopSingleton(UErrorCode &errorCode) {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
@@ -245,7 +245,7 @@ Norm2AllModes::createNFCInstance(UErrorCode &errorCode) {
 
 
 static Norm2AllModes *nfcSingleton;
 static Norm2AllModes *nfcSingleton;
 
 
-static icu::UInitOnce nfcInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce nfcInitOnce {};
 
 
 static void U_CALLCONV initNFCSingleton(UErrorCode &errorCode) {
 static void U_CALLCONV initNFCSingleton(UErrorCode &errorCode) {
     nfcSingleton=Norm2AllModes::createNFCInstance(errorCode);
     nfcSingleton=Norm2AllModes::createNFCInstance(errorCode);
@@ -299,7 +299,7 @@ static UBool U_CALLCONV uprv_normalizer2_cleanup() {
     nfcSingleton = NULL;
     nfcSingleton = NULL;
     nfcInitOnce.reset(); 
     nfcInitOnce.reset(); 
 #endif
 #endif
-    return TRUE;
+    return true;
 }
 }
 
 
 U_CDECL_END
 U_CDECL_END
@@ -423,7 +423,7 @@ unorm2_normalizeSecondAndAppend(const UNormalizer2 *norm2,
     return normalizeSecondAndAppend(norm2,
     return normalizeSecondAndAppend(norm2,
                                     first, firstLength, firstCapacity,
                                     first, firstLength, firstCapacity,
                                     second, secondLength,
                                     second, secondLength,
-                                    TRUE, pErrorCode);
+                                    true, pErrorCode);
 }
 }
 
 
 U_CAPI int32_t U_EXPORT2
 U_CAPI int32_t U_EXPORT2
@@ -434,7 +434,7 @@ unorm2_append(const UNormalizer2 *norm2,
     return normalizeSecondAndAppend(norm2,
     return normalizeSecondAndAppend(norm2,
                                     first, firstLength, firstCapacity,
                                     first, firstLength, firstCapacity,
                                     second, secondLength,
                                     second, secondLength,
-                                    FALSE, pErrorCode);
+                                    false, pErrorCode);
 }
 }
 
 
 U_CAPI int32_t U_EXPORT2
 U_CAPI int32_t U_EXPORT2

+ 67 - 67
thirdparty/icu4c/common/normalizer2impl.cpp

@@ -185,7 +185,7 @@ UBool ReorderingBuffer::init(int32_t destCapacity, UErrorCode &errorCode) {
     if(start==NULL) {
     if(start==NULL) {
         // getBuffer() already did str.setToBogus()
         // getBuffer() already did str.setToBogus()
         errorCode=U_MEMORY_ALLOCATION_ERROR;
         errorCode=U_MEMORY_ALLOCATION_ERROR;
-        return FALSE;
+        return false;
     }
     }
     limit=start+length;
     limit=start+length;
     remainingCapacity=str.getCapacity()-length;
     remainingCapacity=str.getCapacity()-length;
@@ -201,7 +201,7 @@ UBool ReorderingBuffer::init(int32_t destCapacity, UErrorCode &errorCode) {
         }
         }
         reorderStart=codePointLimit;
         reorderStart=codePointLimit;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool ReorderingBuffer::equals(const UChar *otherStart, const UChar *otherLimit) const {
 UBool ReorderingBuffer::equals(const UChar *otherStart, const UChar *otherLimit) const {
@@ -217,7 +217,7 @@ UBool ReorderingBuffer::equals(const uint8_t *otherStart, const uint8_t *otherLi
     int32_t otherLength = (int32_t)(otherLimit - otherStart);
     int32_t otherLength = (int32_t)(otherLimit - otherStart);
     // For equal strings, UTF-8 is at least as long as UTF-16, and at most three times as long.
     // For equal strings, UTF-8 is at least as long as UTF-16, and at most three times as long.
     if (otherLength < length || (otherLength / 3) > length) {
     if (otherLength < length || (otherLength / 3) > length) {
-        return FALSE;
+        return false;
     }
     }
     // Compare valid strings from between normalization boundaries.
     // Compare valid strings from between normalization boundaries.
     // (Invalid sequences are normalization-inert.)
     // (Invalid sequences are normalization-inert.)
@@ -225,21 +225,21 @@ UBool ReorderingBuffer::equals(const uint8_t *otherStart, const uint8_t *otherLi
         if (i >= length) {
         if (i >= length) {
             return j >= otherLength;
             return j >= otherLength;
         } else if (j >= otherLength) {
         } else if (j >= otherLength) {
-            return FALSE;
+            return false;
         }
         }
         // Not at the end of either string yet.
         // Not at the end of either string yet.
         UChar32 c, other;
         UChar32 c, other;
         U16_NEXT_UNSAFE(start, i, c);
         U16_NEXT_UNSAFE(start, i, c);
         U8_NEXT_UNSAFE(otherStart, j, other);
         U8_NEXT_UNSAFE(otherStart, j, other);
         if (c != other) {
         if (c != other) {
-            return FALSE;
+            return false;
         }
         }
     }
     }
 }
 }
 
 
 UBool ReorderingBuffer::appendSupplementary(UChar32 c, uint8_t cc, UErrorCode &errorCode) {
 UBool ReorderingBuffer::appendSupplementary(UChar32 c, uint8_t cc, UErrorCode &errorCode) {
     if(remainingCapacity<2 && !resize(2, errorCode)) {
     if(remainingCapacity<2 && !resize(2, errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     if(lastCC<=cc || cc==0) {
     if(lastCC<=cc || cc==0) {
         limit[0]=U16_LEAD(c);
         limit[0]=U16_LEAD(c);
@@ -253,17 +253,17 @@ UBool ReorderingBuffer::appendSupplementary(UChar32 c, uint8_t cc, UErrorCode &e
         insert(c, cc);
         insert(c, cc);
     }
     }
     remainingCapacity-=2;
     remainingCapacity-=2;
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool ReorderingBuffer::append(const UChar *s, int32_t length, UBool isNFD,
 UBool ReorderingBuffer::append(const UChar *s, int32_t length, UBool isNFD,
                                uint8_t leadCC, uint8_t trailCC,
                                uint8_t leadCC, uint8_t trailCC,
                                UErrorCode &errorCode) {
                                UErrorCode &errorCode) {
     if(length==0) {
     if(length==0) {
-        return TRUE;
+        return true;
     }
     }
     if(remainingCapacity<length && !resize(length, errorCode)) {
     if(remainingCapacity<length && !resize(length, errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     remainingCapacity-=length;
     remainingCapacity-=length;
     if(lastCC<=leadCC || leadCC==0) {
     if(lastCC<=leadCC || leadCC==0) {
@@ -294,13 +294,13 @@ UBool ReorderingBuffer::append(const UChar *s, int32_t length, UBool isNFD,
             append(c, leadCC, errorCode);
             append(c, leadCC, errorCode);
         }
         }
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool ReorderingBuffer::appendZeroCC(UChar32 c, UErrorCode &errorCode) {
 UBool ReorderingBuffer::appendZeroCC(UChar32 c, UErrorCode &errorCode) {
     int32_t cpLength=U16_LENGTH(c);
     int32_t cpLength=U16_LENGTH(c);
     if(remainingCapacity<cpLength && !resize(cpLength, errorCode)) {
     if(remainingCapacity<cpLength && !resize(cpLength, errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     remainingCapacity-=cpLength;
     remainingCapacity-=cpLength;
     if(cpLength==1) {
     if(cpLength==1) {
@@ -312,23 +312,23 @@ UBool ReorderingBuffer::appendZeroCC(UChar32 c, UErrorCode &errorCode) {
     }
     }
     lastCC=0;
     lastCC=0;
     reorderStart=limit;
     reorderStart=limit;
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool ReorderingBuffer::appendZeroCC(const UChar *s, const UChar *sLimit, UErrorCode &errorCode) {
 UBool ReorderingBuffer::appendZeroCC(const UChar *s, const UChar *sLimit, UErrorCode &errorCode) {
     if(s==sLimit) {
     if(s==sLimit) {
-        return TRUE;
+        return true;
     }
     }
     int32_t length=(int32_t)(sLimit-s);
     int32_t length=(int32_t)(sLimit-s);
     if(remainingCapacity<length && !resize(length, errorCode)) {
     if(remainingCapacity<length && !resize(length, errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     u_memcpy(limit, s, length);
     u_memcpy(limit, s, length);
     limit+=length;
     limit+=length;
     remainingCapacity-=length;
     remainingCapacity-=length;
     lastCC=0;
     lastCC=0;
     reorderStart=limit;
     reorderStart=limit;
-    return TRUE;
+    return true;
 }
 }
 
 
 void ReorderingBuffer::remove() {
 void ReorderingBuffer::remove() {
@@ -365,12 +365,12 @@ UBool ReorderingBuffer::resize(int32_t appendLength, UErrorCode &errorCode) {
     if(start==NULL) {
     if(start==NULL) {
         // getBuffer() already did str.setToBogus()
         // getBuffer() already did str.setToBogus()
         errorCode=U_MEMORY_ALLOCATION_ERROR;
         errorCode=U_MEMORY_ALLOCATION_ERROR;
-        return FALSE;
+        return false;
     }
     }
     reorderStart=start+reorderStartIndex;
     reorderStart=start+reorderStartIndex;
     limit=start+length;
     limit=start+length;
     remainingCapacity=str.getCapacity()-length;
     remainingCapacity=str.getCapacity()-length;
-    return TRUE;
+    return true;
 }
 }
 
 
 void ReorderingBuffer::skipPrevious() {
 void ReorderingBuffer::skipPrevious() {
@@ -728,7 +728,7 @@ UBool Normalizer2Impl::decompose(UChar32 c, uint16_t norm16,
     } else {
     } else {
         leadCC=0;
         leadCC=0;
     }
     }
-    return buffer.append((const UChar *)mapping+1, length, TRUE, leadCC, trailCC, errorCode);
+    return buffer.append((const UChar *)mapping+1, length, true, leadCC, trailCC, errorCode);
 }
 }
 
 
 // Dual functionality:
 // Dual functionality:
@@ -820,11 +820,11 @@ Normalizer2Impl::decomposeUTF8(uint32_t options,
         if (U_FAILURE(errorCode)) {
         if (U_FAILURE(errorCode)) {
             break;
             break;
         }
         }
-        decomposeShort(prevBoundary, src, STOP_AT_LIMIT, FALSE /* onlyContiguous */,
+        decomposeShort(prevBoundary, src, STOP_AT_LIMIT, false /* onlyContiguous */,
                        buffer, errorCode);
                        buffer, errorCode);
         // Decompose until the next boundary.
         // Decompose until the next boundary.
         if (buffer.getLastCC() > 1) {
         if (buffer.getLastCC() > 1) {
-            src = decomposeShort(src, limit, STOP_AT_DECOMP_BOUNDARY, FALSE /* onlyContiguous */,
+            src = decomposeShort(src, limit, STOP_AT_DECOMP_BOUNDARY, false /* onlyContiguous */,
                                  buffer, errorCode);
                                  buffer, errorCode);
         }
         }
         if (U_FAILURE(errorCode)) {
         if (U_FAILURE(errorCode)) {
@@ -931,7 +931,7 @@ Normalizer2Impl::decomposeShort(const uint8_t *src, const uint8_t *limit,
             if (leadCC == 0 && stopAt == STOP_AT_DECOMP_BOUNDARY) {
             if (leadCC == 0 && stopAt == STOP_AT_DECOMP_BOUNDARY) {
                 return prevSrc;
                 return prevSrc;
             }
             }
-            if (!buffer.append((const char16_t *)mapping+1, length, TRUE, leadCC, trailCC, errorCode)) {
+            if (!buffer.append((const char16_t *)mapping+1, length, true, leadCC, trailCC, errorCode)) {
                 return nullptr;
                 return nullptr;
             }
             }
         }
         }
@@ -1052,7 +1052,7 @@ void Normalizer2Impl::decomposeAndAppend(const UChar *src, const UChar *limit,
         limit=u_strchr(p, 0);
         limit=u_strchr(p, 0);
     }
     }
 
 
-    if (buffer.append(src, (int32_t)(p - src), FALSE, firstCC, prevCC, errorCode)) {
+    if (buffer.append(src, (int32_t)(p - src), false, firstCC, prevCC, errorCode)) {
         buffer.appendZeroCC(p, limit, errorCode);
         buffer.appendZeroCC(p, limit, errorCode);
     }
     }
 }
 }
@@ -1064,7 +1064,7 @@ UBool Normalizer2Impl::hasDecompBoundaryBefore(UChar32 c) const {
 
 
 UBool Normalizer2Impl::norm16HasDecompBoundaryBefore(uint16_t norm16) const {
 UBool Normalizer2Impl::norm16HasDecompBoundaryBefore(uint16_t norm16) const {
     if (norm16 < minNoNoCompNoMaybeCC) {
     if (norm16 < minNoNoCompNoMaybeCC) {
-        return TRUE;
+        return true;
     }
     }
     if (norm16 >= limitNoNo) {
     if (norm16 >= limitNoNo) {
         return norm16 <= MIN_NORMAL_MAYBE_YES || norm16 == JAMO_VT;
         return norm16 <= MIN_NORMAL_MAYBE_YES || norm16 == JAMO_VT;
@@ -1072,23 +1072,23 @@ UBool Normalizer2Impl::norm16HasDecompBoundaryBefore(uint16_t norm16) const {
     // c decomposes, get everything from the variable-length extra data
     // c decomposes, get everything from the variable-length extra data
     const uint16_t *mapping=getMapping(norm16);
     const uint16_t *mapping=getMapping(norm16);
     uint16_t firstUnit=*mapping;
     uint16_t firstUnit=*mapping;
-    // TRUE if leadCC==0 (hasFCDBoundaryBefore())
+    // true if leadCC==0 (hasFCDBoundaryBefore())
     return (firstUnit&MAPPING_HAS_CCC_LCCC_WORD)==0 || (*(mapping-1)&0xff00)==0;
     return (firstUnit&MAPPING_HAS_CCC_LCCC_WORD)==0 || (*(mapping-1)&0xff00)==0;
 }
 }
 
 
 UBool Normalizer2Impl::hasDecompBoundaryAfter(UChar32 c) const {
 UBool Normalizer2Impl::hasDecompBoundaryAfter(UChar32 c) const {
     if (c < minDecompNoCP) {
     if (c < minDecompNoCP) {
-        return TRUE;
+        return true;
     }
     }
     if (c <= 0xffff && !singleLeadMightHaveNonZeroFCD16(c)) {
     if (c <= 0xffff && !singleLeadMightHaveNonZeroFCD16(c)) {
-        return TRUE;
+        return true;
     }
     }
     return norm16HasDecompBoundaryAfter(getNorm16(c));
     return norm16HasDecompBoundaryAfter(getNorm16(c));
 }
 }
 
 
 UBool Normalizer2Impl::norm16HasDecompBoundaryAfter(uint16_t norm16) const {
 UBool Normalizer2Impl::norm16HasDecompBoundaryAfter(uint16_t norm16) const {
     if(norm16 <= minYesNo || isHangulLVT(norm16)) {
     if(norm16 <= minYesNo || isHangulLVT(norm16)) {
-        return TRUE;
+        return true;
     }
     }
     if (norm16 >= limitNoNo) {
     if (norm16 >= limitNoNo) {
         if (isMaybeOrNonZeroCC(norm16)) {
         if (isMaybeOrNonZeroCC(norm16)) {
@@ -1103,13 +1103,13 @@ UBool Normalizer2Impl::norm16HasDecompBoundaryAfter(uint16_t norm16) const {
     // decomp after-boundary: same as hasFCDBoundaryAfter(),
     // decomp after-boundary: same as hasFCDBoundaryAfter(),
     // fcd16<=1 || trailCC==0
     // fcd16<=1 || trailCC==0
     if(firstUnit>0x1ff) {
     if(firstUnit>0x1ff) {
-        return FALSE;  // trailCC>1
+        return false;  // trailCC>1
     }
     }
     if(firstUnit<=0xff) {
     if(firstUnit<=0xff) {
-        return TRUE;  // trailCC==0
+        return true;  // trailCC==0
     }
     }
     // if(trailCC==1) test leadCC==0, same as checking for before-boundary
     // if(trailCC==1) test leadCC==0, same as checking for before-boundary
-    // TRUE if leadCC==0 (hasFCDBoundaryBefore())
+    // true if leadCC==0 (hasFCDBoundaryBefore())
     return (firstUnit&MAPPING_HAS_CCC_LCCC_WORD)==0 || (*(mapping-1)&0xff00)==0;
     return (firstUnit&MAPPING_HAS_CCC_LCCC_WORD)==0 || (*(mapping-1)&0xff00)==0;
 }
 }
 
 
@@ -1235,7 +1235,7 @@ void Normalizer2Impl::recompose(ReorderingBuffer &buffer, int32_t recomposeStart
     // and are only initialized now to avoid compiler warnings.
     // and are only initialized now to avoid compiler warnings.
     compositionsList=NULL;  // used as indicator for whether we have a forward-combining starter
     compositionsList=NULL;  // used as indicator for whether we have a forward-combining starter
     starter=NULL;
     starter=NULL;
-    starterIsSupplementary=FALSE;
+    starterIsSupplementary=false;
     prevCC=0;
     prevCC=0;
 
 
     for(;;) {
     for(;;) {
@@ -1301,7 +1301,7 @@ void Normalizer2Impl::recompose(ReorderingBuffer &buffer, int32_t recomposeStart
                         *starter=(UChar)composite;
                         *starter=(UChar)composite;
                         // The composite is shorter than the starter,
                         // The composite is shorter than the starter,
                         // move the intermediate characters forward one.
                         // move the intermediate characters forward one.
-                        starterIsSupplementary=FALSE;
+                        starterIsSupplementary=false;
                         q=starter+1;
                         q=starter+1;
                         r=q+1;
                         r=q+1;
                         while(r<pRemove) {
                         while(r<pRemove) {
@@ -1312,7 +1312,7 @@ void Normalizer2Impl::recompose(ReorderingBuffer &buffer, int32_t recomposeStart
                 } else if(U_IS_SUPPLEMENTARY(composite)) {
                 } else if(U_IS_SUPPLEMENTARY(composite)) {
                     // The composite is longer than the starter,
                     // The composite is longer than the starter,
                     // move the intermediate characters back one.
                     // move the intermediate characters back one.
-                    starterIsSupplementary=TRUE;
+                    starterIsSupplementary=true;
                     ++starter;  // temporarily increment for the loop boundary
                     ++starter;  // temporarily increment for the loop boundary
                     q=pRemove;
                     q=pRemove;
                     r=++pRemove;
                     r=++pRemove;
@@ -1366,10 +1366,10 @@ void Normalizer2Impl::recompose(ReorderingBuffer &buffer, int32_t recomposeStart
             if((compositionsList=getCompositionsListForDecompYes(norm16))!=NULL) {
             if((compositionsList=getCompositionsListForDecompYes(norm16))!=NULL) {
                 // It may combine with something, prepare for it.
                 // It may combine with something, prepare for it.
                 if(U_IS_BMP(c)) {
                 if(U_IS_BMP(c)) {
-                    starterIsSupplementary=FALSE;
+                    starterIsSupplementary=false;
                     starter=p-1;
                     starter=p-1;
                 } else {
                 } else {
-                    starterIsSupplementary=TRUE;
+                    starterIsSupplementary=true;
                     starter=p-2;
                     starter=p-2;
                 }
                 }
             }
             }
@@ -1447,7 +1447,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
                                            doCompose ? &buffer : NULL,
                                            doCompose ? &buffer : NULL,
                                            errorCode);
                                            errorCode);
         if(U_FAILURE(errorCode)) {
         if(U_FAILURE(errorCode)) {
-            return FALSE;
+            return false;
         }
         }
         limit=u_strchr(src, 0);
         limit=u_strchr(src, 0);
         if (prevBoundary != src) {
         if (prevBoundary != src) {
@@ -1471,7 +1471,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
                 if (prevBoundary != limit && doCompose) {
                 if (prevBoundary != limit && doCompose) {
                     buffer.appendZeroCC(prevBoundary, limit, errorCode);
                     buffer.appendZeroCC(prevBoundary, limit, errorCode);
                 }
                 }
-                return TRUE;
+                return true;
             }
             }
             if( (c=*src)<minNoMaybeCP ||
             if( (c=*src)<minNoMaybeCP ||
                 isCompYesAndZeroCC(norm16=UCPTRIE_FAST_BMP_GET(normTrie, UCPTRIE_16, c))
                 isCompYesAndZeroCC(norm16=UCPTRIE_FAST_BMP_GET(normTrie, UCPTRIE_16, c))
@@ -1503,7 +1503,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
         // Medium-fast path: Handle cases that do not require full decomposition and recomposition.
         // Medium-fast path: Handle cases that do not require full decomposition and recomposition.
         if (!isMaybeOrNonZeroCC(norm16)) {  // minNoNo <= norm16 < minMaybeYes
         if (!isMaybeOrNonZeroCC(norm16)) {  // minNoNo <= norm16 < minMaybeYes
             if (!doCompose) {
             if (!doCompose) {
-                return FALSE;
+                return false;
             }
             }
             // Fast path for mapping a character that is immediately surrounded by boundaries.
             // Fast path for mapping a character that is immediately surrounded by boundaries.
             // In this case, we need not decompose around the current character.
             // In this case, we need not decompose around the current character.
@@ -1559,7 +1559,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
                 UChar l = (UChar)(prev-Hangul::JAMO_L_BASE);
                 UChar l = (UChar)(prev-Hangul::JAMO_L_BASE);
                 if(l<Hangul::JAMO_L_COUNT) {
                 if(l<Hangul::JAMO_L_COUNT) {
                     if (!doCompose) {
                     if (!doCompose) {
-                        return FALSE;
+                        return false;
                     }
                     }
                     int32_t t;
                     int32_t t;
                     if (src != limit &&
                     if (src != limit &&
@@ -1599,7 +1599,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
                 // The current character is a Jamo Trailing consonant,
                 // The current character is a Jamo Trailing consonant,
                 // compose with previous Hangul LV that does not contain a Jamo T.
                 // compose with previous Hangul LV that does not contain a Jamo T.
                 if (!doCompose) {
                 if (!doCompose) {
-                    return FALSE;
+                    return false;
                 }
                 }
                 UChar32 syllable = prev + c - Hangul::JAMO_T_BASE;
                 UChar32 syllable = prev + c - Hangul::JAMO_T_BASE;
                 --prevSrc;  // Replace the Hangul LV as well.
                 --prevSrc;  // Replace the Hangul LV as well.
@@ -1622,7 +1622,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
             if (onlyContiguous /* FCC */ && getPreviousTrailCC(prevBoundary, prevSrc) > cc) {
             if (onlyContiguous /* FCC */ && getPreviousTrailCC(prevBoundary, prevSrc) > cc) {
                 // Fails FCD test, need to decompose and contiguously recompose.
                 // Fails FCD test, need to decompose and contiguously recompose.
                 if (!doCompose) {
                 if (!doCompose) {
-                    return FALSE;
+                    return false;
                 }
                 }
             } else {
             } else {
                 // If !onlyContiguous (not FCC), then we ignore the tccc of
                 // If !onlyContiguous (not FCC), then we ignore the tccc of
@@ -1634,7 +1634,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
                         if (doCompose) {
                         if (doCompose) {
                             buffer.appendZeroCC(prevBoundary, limit, errorCode);
                             buffer.appendZeroCC(prevBoundary, limit, errorCode);
                         }
                         }
-                        return TRUE;
+                        return true;
                     }
                     }
                     uint8_t prevCC = cc;
                     uint8_t prevCC = cc;
                     nextSrc = src;
                     nextSrc = src;
@@ -1643,7 +1643,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
                         cc = getCCFromNormalYesOrMaybe(n16);
                         cc = getCCFromNormalYesOrMaybe(n16);
                         if (prevCC > cc) {
                         if (prevCC > cc) {
                             if (!doCompose) {
                             if (!doCompose) {
-                                return FALSE;
+                                return false;
                             }
                             }
                             break;
                             break;
                         }
                         }
@@ -1678,28 +1678,28 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
         }
         }
         int32_t recomposeStartIndex=buffer.length();
         int32_t recomposeStartIndex=buffer.length();
         // We know there is not a boundary here.
         // We know there is not a boundary here.
-        decomposeShort(prevSrc, src, FALSE /* !stopAtCompBoundary */, onlyContiguous,
+        decomposeShort(prevSrc, src, false /* !stopAtCompBoundary */, onlyContiguous,
                        buffer, errorCode);
                        buffer, errorCode);
         // Decompose until the next boundary.
         // Decompose until the next boundary.
-        src = decomposeShort(src, limit, TRUE /* stopAtCompBoundary */, onlyContiguous,
+        src = decomposeShort(src, limit, true /* stopAtCompBoundary */, onlyContiguous,
                              buffer, errorCode);
                              buffer, errorCode);
         if (U_FAILURE(errorCode)) {
         if (U_FAILURE(errorCode)) {
             break;
             break;
         }
         }
         if ((src - prevSrc) > INT32_MAX) {  // guard before buffer.equals()
         if ((src - prevSrc) > INT32_MAX) {  // guard before buffer.equals()
             errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
             errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
-            return TRUE;
+            return true;
         }
         }
         recompose(buffer, recomposeStartIndex, onlyContiguous);
         recompose(buffer, recomposeStartIndex, onlyContiguous);
         if(!doCompose) {
         if(!doCompose) {
             if(!buffer.equals(prevSrc, src)) {
             if(!buffer.equals(prevSrc, src)) {
-                return FALSE;
+                return false;
             }
             }
             buffer.remove();
             buffer.remove();
         }
         }
         prevBoundary=src;
         prevBoundary=src;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 // Very similar to compose(): Make the same changes in both places if relevant.
 // Very similar to compose(): Make the same changes in both places if relevant.
@@ -1846,7 +1846,7 @@ void Normalizer2Impl::composeAndAppend(const UChar *src, const UChar *limit,
             middle.append(src, (int32_t)(firstStarterInSrc-src));
             middle.append(src, (int32_t)(firstStarterInSrc-src));
             const UChar *middleStart=middle.getBuffer();
             const UChar *middleStart=middle.getBuffer();
             compose(middleStart, middleStart+middle.length(), onlyContiguous,
             compose(middleStart, middleStart+middle.length(), onlyContiguous,
-                    TRUE, buffer, errorCode);
+                    true, buffer, errorCode);
             if(U_FAILURE(errorCode)) {
             if(U_FAILURE(errorCode)) {
                 return;
                 return;
             }
             }
@@ -1854,7 +1854,7 @@ void Normalizer2Impl::composeAndAppend(const UChar *src, const UChar *limit,
         }
         }
     }
     }
     if(doCompose) {
     if(doCompose) {
-        compose(src, limit, onlyContiguous, TRUE, buffer, errorCode);
+        compose(src, limit, onlyContiguous, true, buffer, errorCode);
     } else {
     } else {
         if(limit==NULL) {  // appendZeroCC() needs limit!=NULL
         if(limit==NULL) {  // appendZeroCC() needs limit!=NULL
             limit=u_strchr(src, 0);
             limit=u_strchr(src, 0);
@@ -1883,7 +1883,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
                     ByteSinkUtil::appendUnchanged(prevBoundary, limit,
                     ByteSinkUtil::appendUnchanged(prevBoundary, limit,
                                                   *sink, options, edits, errorCode);
                                                   *sink, options, edits, errorCode);
                 }
                 }
-                return TRUE;
+                return true;
             }
             }
             if (*src < minNoMaybeLead) {
             if (*src < minNoMaybeLead) {
                 ++src;
                 ++src;
@@ -1904,7 +1904,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
         // Medium-fast path: Handle cases that do not require full decomposition and recomposition.
         // Medium-fast path: Handle cases that do not require full decomposition and recomposition.
         if (!isMaybeOrNonZeroCC(norm16)) {  // minNoNo <= norm16 < minMaybeYes
         if (!isMaybeOrNonZeroCC(norm16)) {  // minNoNo <= norm16 < minMaybeYes
             if (sink == nullptr) {
             if (sink == nullptr) {
-                return FALSE;
+                return false;
             }
             }
             // Fast path for mapping a character that is immediately surrounded by boundaries.
             // Fast path for mapping a character that is immediately surrounded by boundaries.
             // In this case, we need not decompose around the current character.
             // In this case, we need not decompose around the current character.
@@ -1972,7 +1972,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
                 UChar32 l = prev - Hangul::JAMO_L_BASE;
                 UChar32 l = prev - Hangul::JAMO_L_BASE;
                 if ((uint32_t)l < Hangul::JAMO_L_COUNT) {
                 if ((uint32_t)l < Hangul::JAMO_L_COUNT) {
                     if (sink == nullptr) {
                     if (sink == nullptr) {
-                        return FALSE;
+                        return false;
                     }
                     }
                     int32_t t = getJamoTMinusBase(src, limit);
                     int32_t t = getJamoTMinusBase(src, limit);
                     if (t >= 0) {
                     if (t >= 0) {
@@ -2008,7 +2008,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
                 // The current character is a Jamo Trailing consonant,
                 // The current character is a Jamo Trailing consonant,
                 // compose with previous Hangul LV that does not contain a Jamo T.
                 // compose with previous Hangul LV that does not contain a Jamo T.
                 if (sink == nullptr) {
                 if (sink == nullptr) {
-                    return FALSE;
+                    return false;
                 }
                 }
                 UChar32 syllable = prev + getJamoTMinusBase(prevSrc, src);
                 UChar32 syllable = prev + getJamoTMinusBase(prevSrc, src);
                 prevSrc -= 3;  // Replace the Hangul LV as well.
                 prevSrc -= 3;  // Replace the Hangul LV as well.
@@ -2031,7 +2031,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
             if (onlyContiguous /* FCC */ && getPreviousTrailCC(prevBoundary, prevSrc) > cc) {
             if (onlyContiguous /* FCC */ && getPreviousTrailCC(prevBoundary, prevSrc) > cc) {
                 // Fails FCD test, need to decompose and contiguously recompose.
                 // Fails FCD test, need to decompose and contiguously recompose.
                 if (sink == nullptr) {
                 if (sink == nullptr) {
-                    return FALSE;
+                    return false;
                 }
                 }
             } else {
             } else {
                 // If !onlyContiguous (not FCC), then we ignore the tccc of
                 // If !onlyContiguous (not FCC), then we ignore the tccc of
@@ -2044,7 +2044,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
                             ByteSinkUtil::appendUnchanged(prevBoundary, limit,
                             ByteSinkUtil::appendUnchanged(prevBoundary, limit,
                                                           *sink, options, edits, errorCode);
                                                           *sink, options, edits, errorCode);
                         }
                         }
-                        return TRUE;
+                        return true;
                     }
                     }
                     uint8_t prevCC = cc;
                     uint8_t prevCC = cc;
                     nextSrc = src;
                     nextSrc = src;
@@ -2053,7 +2053,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
                         cc = getCCFromNormalYesOrMaybe(n16);
                         cc = getCCFromNormalYesOrMaybe(n16);
                         if (prevCC > cc) {
                         if (prevCC > cc) {
                             if (sink == nullptr) {
                             if (sink == nullptr) {
-                                return FALSE;
+                                return false;
                             }
                             }
                             break;
                             break;
                         }
                         }
@@ -2098,12 +2098,12 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
         }
         }
         if ((src - prevSrc) > INT32_MAX) {  // guard before buffer.equals()
         if ((src - prevSrc) > INT32_MAX) {  // guard before buffer.equals()
             errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
             errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
-            return TRUE;
+            return true;
         }
         }
         recompose(buffer, 0, onlyContiguous);
         recompose(buffer, 0, onlyContiguous);
         if (!buffer.equals(prevSrc, src)) {
         if (!buffer.equals(prevSrc, src)) {
             if (sink == nullptr) {
             if (sink == nullptr) {
-                return FALSE;
+                return false;
             }
             }
             if (prevBoundary != prevSrc &&
             if (prevBoundary != prevSrc &&
                     !ByteSinkUtil::appendUnchanged(prevBoundary, prevSrc,
                     !ByteSinkUtil::appendUnchanged(prevBoundary, prevSrc,
@@ -2117,12 +2117,12 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
             prevBoundary = src;
             prevBoundary = src;
         }
         }
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 UBool Normalizer2Impl::hasCompBoundaryBefore(const UChar *src, const UChar *limit) const {
 UBool Normalizer2Impl::hasCompBoundaryBefore(const UChar *src, const UChar *limit) const {
     if (src == limit || *src < minCompNoMaybeCP) {
     if (src == limit || *src < minCompNoMaybeCP) {
-        return TRUE;
+        return true;
     }
     }
     UChar32 c;
     UChar32 c;
     uint16_t norm16;
     uint16_t norm16;
@@ -2132,7 +2132,7 @@ UBool Normalizer2Impl::hasCompBoundaryBefore(const UChar *src, const UChar *limi
 
 
 UBool Normalizer2Impl::hasCompBoundaryBefore(const uint8_t *src, const uint8_t *limit) const {
 UBool Normalizer2Impl::hasCompBoundaryBefore(const uint8_t *src, const uint8_t *limit) const {
     if (src == limit) {
     if (src == limit) {
-        return TRUE;
+        return true;
     }
     }
     uint16_t norm16;
     uint16_t norm16;
     UCPTRIE_FAST_U8_NEXT(normTrie, UCPTRIE_16, src, limit, norm16);
     UCPTRIE_FAST_U8_NEXT(normTrie, UCPTRIE_16, src, limit, norm16);
@@ -2142,7 +2142,7 @@ UBool Normalizer2Impl::hasCompBoundaryBefore(const uint8_t *src, const uint8_t *
 UBool Normalizer2Impl::hasCompBoundaryAfter(const UChar *start, const UChar *p,
 UBool Normalizer2Impl::hasCompBoundaryAfter(const UChar *start, const UChar *p,
                                             UBool onlyContiguous) const {
                                             UBool onlyContiguous) const {
     if (start == p) {
     if (start == p) {
-        return TRUE;
+        return true;
     }
     }
     UChar32 c;
     UChar32 c;
     uint16_t norm16;
     uint16_t norm16;
@@ -2153,7 +2153,7 @@ UBool Normalizer2Impl::hasCompBoundaryAfter(const UChar *start, const UChar *p,
 UBool Normalizer2Impl::hasCompBoundaryAfter(const uint8_t *start, const uint8_t *p,
 UBool Normalizer2Impl::hasCompBoundaryAfter(const uint8_t *start, const uint8_t *p,
                                             UBool onlyContiguous) const {
                                             UBool onlyContiguous) const {
     if (start == p) {
     if (start == p) {
-        return TRUE;
+        return true;
     }
     }
     uint16_t norm16;
     uint16_t norm16;
     UCPTRIE_FAST_U8_PREV(normTrie, UCPTRIE_16, start, p, norm16);
     UCPTRIE_FAST_U8_PREV(normTrie, UCPTRIE_16, start, p, norm16);
@@ -2399,7 +2399,7 @@ Normalizer2Impl::makeFCD(const UChar *src, const UChar *limit,
              * The source text does not fulfill the conditions for FCD.
              * The source text does not fulfill the conditions for FCD.
              * Decompose and reorder a limited piece of the text.
              * Decompose and reorder a limited piece of the text.
              */
              */
-            decomposeShort(prevBoundary, src, FALSE, FALSE, *buffer, errorCode);
+            decomposeShort(prevBoundary, src, false, false, *buffer, errorCode);
             if (U_FAILURE(errorCode)) {
             if (U_FAILURE(errorCode)) {
                 break;
                 break;
             }
             }
@@ -2665,7 +2665,7 @@ UBool Normalizer2Impl::isCanonSegmentStarter(UChar32 c) const {
 UBool Normalizer2Impl::getCanonStartSet(UChar32 c, UnicodeSet &set) const {
 UBool Normalizer2Impl::getCanonStartSet(UChar32 c, UnicodeSet &set) const {
     int32_t canonValue=getCanonValue(c)&~CANON_NOT_SEGMENT_STARTER;
     int32_t canonValue=getCanonValue(c)&~CANON_NOT_SEGMENT_STARTER;
     if(canonValue==0) {
     if(canonValue==0) {
-        return FALSE;
+        return false;
     }
     }
     set.clear();
     set.clear();
     int32_t value=canonValue&CANON_VALUE_MASK;
     int32_t value=canonValue&CANON_VALUE_MASK;
@@ -2684,7 +2684,7 @@ UBool Normalizer2Impl::getCanonStartSet(UChar32 c, UnicodeSet &set) const {
             addComposites(getCompositionsList(norm16), set);
             addComposites(getCompositionsList(norm16), set);
         }
         }
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END

+ 3 - 3
thirdparty/icu4c/common/normalizer2impl.h

@@ -131,7 +131,7 @@ public:
         }
         }
     }
     }
 private:
 private:
-    Hangul();  // no instantiation
+    Hangul() = delete;  // no instantiation
 };
 };
 
 
 class Normalizer2Impl;
 class Normalizer2Impl;
@@ -730,7 +730,7 @@ private:
     const uint16_t *extraData;  // mappings and/or compositions for yesYes, yesNo & noNo characters
     const uint16_t *extraData;  // mappings and/or compositions for yesYes, yesNo & noNo characters
     const uint8_t *smallFCD;  // [0x100] one bit per 32 BMP code points, set if any FCD!=0
     const uint8_t *smallFCD;  // [0x100] one bit per 32 BMP code points, set if any FCD!=0
 
 
-    UInitOnce       fCanonIterDataInitOnce = U_INITONCE_INITIALIZER;
+    UInitOnce       fCanonIterDataInitOnce {};
     CanonIterData  *fCanonIterData;
     CanonIterData  *fCanonIterData;
 };
 };
 
 
@@ -759,7 +759,7 @@ public:
     // Must be used only when it is known that norm2 is a Normalizer2WithImpl instance.
     // Must be used only when it is known that norm2 is a Normalizer2WithImpl instance.
     static const Normalizer2Impl *getImpl(const Normalizer2 *norm2);
     static const Normalizer2Impl *getImpl(const Normalizer2 *norm2);
 private:
 private:
-    Normalizer2Factory();  // No instantiation.
+    Normalizer2Factory() = delete;  // No instantiation.
 };
 };
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END

+ 3 - 3
thirdparty/icu4c/common/normlzr.cpp

@@ -205,7 +205,7 @@ Normalizer::isNormalized(const UnicodeString& source,
             return n2->isNormalized(source, status);
             return n2->isNormalized(source, status);
         }
         }
     } else {
     } else {
-        return FALSE;
+        return false;
     }
     }
 }
 }
 
 
@@ -483,7 +483,7 @@ Normalizer::nextNormalize() {
     currentIndex=nextIndex;
     currentIndex=nextIndex;
     text->setIndex(nextIndex);
     text->setIndex(nextIndex);
     if(!text->hasNext()) {
     if(!text->hasNext()) {
-        return FALSE;
+        return false;
     }
     }
     // Skip at least one character so we make progress.
     // Skip at least one character so we make progress.
     UnicodeString segment(text->next32PostInc());
     UnicodeString segment(text->next32PostInc());
@@ -507,7 +507,7 @@ Normalizer::previousNormalize() {
     nextIndex=currentIndex;
     nextIndex=currentIndex;
     text->setIndex(currentIndex);
     text->setIndex(currentIndex);
     if(!text->hasPrevious()) {
     if(!text->hasPrevious()) {
-        return FALSE;
+        return false;
     }
     }
     UnicodeString segment;
     UnicodeString segment;
     while(text->hasPrevious()) {
     while(text->hasPrevious()) {

+ 11 - 11
thirdparty/icu4c/common/patternprops.cpp

@@ -118,49 +118,49 @@ static const uint32_t syntaxOrWhiteSpace2000[]={
 UBool
 UBool
 PatternProps::isSyntax(UChar32 c) {
 PatternProps::isSyntax(UChar32 c) {
     if(c<0) {
     if(c<0) {
-        return FALSE;
+        return false;
     } else if(c<=0xff) {
     } else if(c<=0xff) {
         return (UBool)(latin1[c]>>1)&1;
         return (UBool)(latin1[c]>>1)&1;
     } else if(c<0x2010) {
     } else if(c<0x2010) {
-        return FALSE;
+        return false;
     } else if(c<=0x3030) {
     } else if(c<=0x3030) {
         uint32_t bits=syntax2000[index2000[(c-0x2000)>>5]];
         uint32_t bits=syntax2000[index2000[(c-0x2000)>>5]];
         return (UBool)((bits>>(c&0x1f))&1);
         return (UBool)((bits>>(c&0x1f))&1);
     } else if(0xfd3e<=c && c<=0xfe46) {
     } else if(0xfd3e<=c && c<=0xfe46) {
         return c<=0xfd3f || 0xfe45<=c;
         return c<=0xfd3f || 0xfe45<=c;
     } else {
     } else {
-        return FALSE;
+        return false;
     }
     }
 }
 }
 
 
 UBool
 UBool
 PatternProps::isSyntaxOrWhiteSpace(UChar32 c) {
 PatternProps::isSyntaxOrWhiteSpace(UChar32 c) {
     if(c<0) {
     if(c<0) {
-        return FALSE;
+        return false;
     } else if(c<=0xff) {
     } else if(c<=0xff) {
         return (UBool)(latin1[c]&1);
         return (UBool)(latin1[c]&1);
     } else if(c<0x200e) {
     } else if(c<0x200e) {
-        return FALSE;
+        return false;
     } else if(c<=0x3030) {
     } else if(c<=0x3030) {
         uint32_t bits=syntaxOrWhiteSpace2000[index2000[(c-0x2000)>>5]];
         uint32_t bits=syntaxOrWhiteSpace2000[index2000[(c-0x2000)>>5]];
         return (UBool)((bits>>(c&0x1f))&1);
         return (UBool)((bits>>(c&0x1f))&1);
     } else if(0xfd3e<=c && c<=0xfe46) {
     } else if(0xfd3e<=c && c<=0xfe46) {
         return c<=0xfd3f || 0xfe45<=c;
         return c<=0xfd3f || 0xfe45<=c;
     } else {
     } else {
-        return FALSE;
+        return false;
     }
     }
 }
 }
 
 
 UBool
 UBool
 PatternProps::isWhiteSpace(UChar32 c) {
 PatternProps::isWhiteSpace(UChar32 c) {
     if(c<0) {
     if(c<0) {
-        return FALSE;
+        return false;
     } else if(c<=0xff) {
     } else if(c<=0xff) {
         return (UBool)(latin1[c]>>2)&1;
         return (UBool)(latin1[c]>>2)&1;
     } else if(0x200e<=c && c<=0x2029) {
     } else if(0x200e<=c && c<=0x2029) {
         return c<=0x200f || 0x2028<=c;
         return c<=0x200f || 0x2028<=c;
     } else {
     } else {
-        return FALSE;
+        return false;
     }
     }
 }
 }
 
 
@@ -207,15 +207,15 @@ PatternProps::trimWhiteSpace(const UChar *s, int32_t &length) {
 UBool
 UBool
 PatternProps::isIdentifier(const UChar *s, int32_t length) {
 PatternProps::isIdentifier(const UChar *s, int32_t length) {
     if(length<=0) {
     if(length<=0) {
-        return FALSE;
+        return false;
     }
     }
     const UChar *limit=s+length;
     const UChar *limit=s+length;
     do {
     do {
         if(isSyntaxOrWhiteSpace(*s++)) {
         if(isSyntaxOrWhiteSpace(*s++)) {
-            return FALSE;
+            return false;
         }
         }
     } while(s<limit);
     } while(s<limit);
-    return TRUE;
+    return true;
 }
 }
 
 
 const UChar *
 const UChar *

+ 1 - 1
thirdparty/icu4c/common/patternprops.h

@@ -90,7 +90,7 @@ public:
     static const UChar *skipIdentifier(const UChar *s, int32_t length);
     static const UChar *skipIdentifier(const UChar *s, int32_t length);
 
 
 private:
 private:
-    PatternProps();  // no constructor: all static methods
+    PatternProps() = delete;  // no constructor: all static methods
 };
 };
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END

+ 2 - 2
thirdparty/icu4c/common/propname.cpp

@@ -218,7 +218,7 @@ const char *PropNameData::getName(const char *nameGroup, int32_t nameIndex) {
 
 
 UBool PropNameData::containsName(BytesTrie &trie, const char *name) {
 UBool PropNameData::containsName(BytesTrie &trie, const char *name) {
     if(name==NULL) {
     if(name==NULL) {
-        return FALSE;
+        return false;
     }
     }
     UStringTrieResult result=USTRINGTRIE_NO_VALUE;
     UStringTrieResult result=USTRINGTRIE_NO_VALUE;
     char c;
     char c;
@@ -229,7 +229,7 @@ UBool PropNameData::containsName(BytesTrie &trie, const char *name) {
             continue;
             continue;
         }
         }
         if(!USTRINGTRIE_HAS_NEXT(result)) {
         if(!USTRINGTRIE_HAS_NEXT(result)) {
-            return FALSE;
+            return false;
         }
         }
         result=trie.next((uint8_t)c);
         result=trie.next((uint8_t)c);
     }
     }

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 691 - 685
thirdparty/icu4c/common/propname_data.h


+ 3 - 3
thirdparty/icu4c/common/propsvec.cpp

@@ -351,7 +351,7 @@ upvec_compact(UPropsVectors *pv, UPVecCompactHandler *handler, void *context, UE
     }
     }
 
 
     /* Set the flag now: Sorting and compacting destroys the builder data structure. */
     /* Set the flag now: Sorting and compacting destroys the builder data structure. */
-    pv->isCompacted=TRUE;
+    pv->isCompacted=true;
 
 
     rows=pv->rows;
     rows=pv->rows;
     columns=pv->columns;
     columns=pv->columns;
@@ -360,7 +360,7 @@ upvec_compact(UPropsVectors *pv, UPVecCompactHandler *handler, void *context, UE
 
 
     /* sort the properties vectors to find unique vector values */
     /* sort the properties vectors to find unique vector values */
     uprv_sortArray(pv->v, rows, columns*4,
     uprv_sortArray(pv->v, rows, columns*4,
-                   upvec_compareRows, pv, FALSE, pErrorCode);
+                   upvec_compareRows, pv, false, pErrorCode);
     if(U_FAILURE(*pErrorCode)) {
     if(U_FAILURE(*pErrorCode)) {
         return;
         return;
     }
     }
@@ -503,7 +503,7 @@ upvec_compactToUTrie2Handler(void *context,
     (void)columns;
     (void)columns;
     UPVecToUTrie2Context *toUTrie2=(UPVecToUTrie2Context *)context;
     UPVecToUTrie2Context *toUTrie2=(UPVecToUTrie2Context *)context;
     if(start<UPVEC_FIRST_SPECIAL_CP) {
     if(start<UPVEC_FIRST_SPECIAL_CP) {
-        utrie2_setRange32(toUTrie2->trie, start, end, (uint32_t)rowIndex, TRUE, pErrorCode);
+        utrie2_setRange32(toUTrie2->trie, start, end, (uint32_t)rowIndex, true, pErrorCode);
     } else {
     } else {
         switch(start) {
         switch(start) {
         case UPVEC_INITIAL_VALUE_CP:
         case UPVEC_INITIAL_VALUE_CP:

+ 1 - 1
thirdparty/icu4c/common/punycode.cpp

@@ -573,7 +573,7 @@ u_strFromPunycode(const UChar *src, int32_t srcLength,
                 /* Case of last character determines uppercase flag: */
                 /* Case of last character determines uppercase flag: */
                 caseFlags[codeUnitIndex]=IS_BASIC_UPPERCASE(src[in-1]);
                 caseFlags[codeUnitIndex]=IS_BASIC_UPPERCASE(src[in-1]);
                 if(cpLength==2) {
                 if(cpLength==2) {
-                    caseFlags[codeUnitIndex+1]=FALSE;
+                    caseFlags[codeUnitIndex+1]=false;
                 }
                 }
             }
             }
         }
         }

+ 17 - 17
thirdparty/icu4c/common/putil.cpp

@@ -244,7 +244,7 @@ u_signBit(double d) {
  */
  */
 UDate fakeClock_t0 = 0; /** Time to start the clock from **/
 UDate fakeClock_t0 = 0; /** Time to start the clock from **/
 UDate fakeClock_dt = 0; /** Offset (fake time - real time) **/
 UDate fakeClock_dt = 0; /** Offset (fake time - real time) **/
-UBool fakeClock_set = FALSE; /** True if fake clock has spun up **/
+UBool fakeClock_set = false; /** True if fake clock has spun up **/
 
 
 static UDate getUTCtime_real() {
 static UDate getUTCtime_real() {
     struct timeval posixTime;
     struct timeval posixTime;
@@ -269,7 +269,7 @@ static UDate getUTCtime_fake() {
             fprintf(stderr,"U_DEBUG_FAKETIME was set at compile time, but U_FAKETIME_START was not set.\n"
             fprintf(stderr,"U_DEBUG_FAKETIME was set at compile time, but U_FAKETIME_START was not set.\n"
                     "Set U_FAKETIME_START to the number of milliseconds since 1/1/1970 to set the ICU clock.\n");
                     "Set U_FAKETIME_START to the number of milliseconds since 1/1/1970 to set the ICU clock.\n");
         }
         }
-        fakeClock_set = TRUE;
+        fakeClock_set = true;
     }
     }
     umtx_unlock(&fakeClockMutex);
     umtx_unlock(&fakeClockMutex);
 
 
@@ -905,7 +905,7 @@ static UBool compareBinaryFiles(const char* defaultTZFileName, const char* TZFil
     int32_t sizeFileRead;
     int32_t sizeFileRead;
     int32_t sizeFileToRead;
     int32_t sizeFileToRead;
     char bufferFile[MAX_READ_SIZE];
     char bufferFile[MAX_READ_SIZE];
-    UBool result = TRUE;
+    UBool result = true;
 
 
     if (tzInfo->defaultTZFilePtr == NULL) {
     if (tzInfo->defaultTZFilePtr == NULL) {
         tzInfo->defaultTZFilePtr = fopen(defaultTZFileName, "r");
         tzInfo->defaultTZFilePtr = fopen(defaultTZFileName, "r");
@@ -925,7 +925,7 @@ static UBool compareBinaryFiles(const char* defaultTZFileName, const char* TZFil
         sizeFileLeft = sizeFile;
         sizeFileLeft = sizeFile;
 
 
         if (sizeFile != tzInfo->defaultTZFileSize) {
         if (sizeFile != tzInfo->defaultTZFileSize) {
-            result = FALSE;
+            result = false;
         } else {
         } else {
             /* Store the data from the files in separate buffers and
             /* Store the data from the files in separate buffers and
              * compare each byte to determine equality.
              * compare each byte to determine equality.
@@ -942,7 +942,7 @@ static UBool compareBinaryFiles(const char* defaultTZFileName, const char* TZFil
 
 
                 sizeFileRead = fread(bufferFile, 1, sizeFileToRead, file);
                 sizeFileRead = fread(bufferFile, 1, sizeFileToRead, file);
                 if (memcmp(tzInfo->defaultTZBuffer + tzInfo->defaultTZPosition, bufferFile, sizeFileRead) != 0) {
                 if (memcmp(tzInfo->defaultTZBuffer + tzInfo->defaultTZPosition, bufferFile, sizeFileRead) != 0) {
-                    result = FALSE;
+                    result = false;
                     break;
                     break;
                 }
                 }
                 sizeFileLeft -= sizeFileRead;
                 sizeFileLeft -= sizeFileRead;
@@ -950,7 +950,7 @@ static UBool compareBinaryFiles(const char* defaultTZFileName, const char* TZFil
             }
             }
         }
         }
     } else {
     } else {
-        result = FALSE;
+        result = false;
     }
     }
 
 
     if (file != NULL) {
     if (file != NULL) {
@@ -1189,7 +1189,7 @@ uprv_tzname(int n)
                 tzInfo->defaultTZBuffer = NULL;
                 tzInfo->defaultTZBuffer = NULL;
                 tzInfo->defaultTZFileSize = 0;
                 tzInfo->defaultTZFileSize = 0;
                 tzInfo->defaultTZFilePtr = NULL;
                 tzInfo->defaultTZFilePtr = NULL;
-                tzInfo->defaultTZstatus = FALSE;
+                tzInfo->defaultTZstatus = false;
                 tzInfo->defaultTZPosition = 0;
                 tzInfo->defaultTZPosition = 0;
 
 
                 gTimeZoneBufferPtr = searchForTZFile(TZZONEINFO, tzInfo);
                 gTimeZoneBufferPtr = searchForTZFile(TZZONEINFO, tzInfo);
@@ -1260,10 +1260,10 @@ uprv_tzname(int n)
 
 
 /* Get and set the ICU data directory --------------------------------------- */
 /* Get and set the ICU data directory --------------------------------------- */
 
 
-static icu::UInitOnce gDataDirInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce gDataDirInitOnce {};
 static char *gDataDirectory = NULL;
 static char *gDataDirectory = NULL;
 
 
-UInitOnce gTimeZoneFilesInitOnce = U_INITONCE_INITIALIZER;
+UInitOnce gTimeZoneFilesInitOnce {};
 static CharString *gTimeZoneFilesDirectory = NULL;
 static CharString *gTimeZoneFilesDirectory = NULL;
 
 
 #if U_POSIX_LOCALE || U_PLATFORM_USES_ONLY_WIN32_API
 #if U_POSIX_LOCALE || U_PLATFORM_USES_ONLY_WIN32_API
@@ -1295,7 +1295,7 @@ static UBool U_CALLCONV putil_cleanup(void)
         gCorrectedPOSIXLocaleHeapAllocated = false;
         gCorrectedPOSIXLocaleHeapAllocated = false;
     }
     }
 #endif
 #endif
-    return TRUE;
+    return true;
 }
 }
 
 
 /*
 /*
@@ -1344,16 +1344,16 @@ U_CAPI UBool U_EXPORT2
 uprv_pathIsAbsolute(const char *path)
 uprv_pathIsAbsolute(const char *path)
 {
 {
   if(!path || !*path) {
   if(!path || !*path) {
-    return FALSE;
+    return false;
   }
   }
 
 
   if(*path == U_FILE_SEP_CHAR) {
   if(*path == U_FILE_SEP_CHAR) {
-    return TRUE;
+    return true;
   }
   }
 
 
 #if (U_FILE_SEP_CHAR != U_FILE_ALT_SEP_CHAR)
 #if (U_FILE_SEP_CHAR != U_FILE_ALT_SEP_CHAR)
   if(*path == U_FILE_ALT_SEP_CHAR) {
   if(*path == U_FILE_ALT_SEP_CHAR) {
-    return TRUE;
+    return true;
   }
   }
 #endif
 #endif
 
 
@@ -1361,11 +1361,11 @@ uprv_pathIsAbsolute(const char *path)
   if( (((path[0] >= 'A') && (path[0] <= 'Z')) ||
   if( (((path[0] >= 'A') && (path[0] <= 'Z')) ||
        ((path[0] >= 'a') && (path[0] <= 'z'))) &&
        ((path[0] >= 'a') && (path[0] <= 'z'))) &&
       path[1] == ':' ) {
       path[1] == ':' ) {
-    return TRUE;
+    return true;
   }
   }
 #endif
 #endif
 
 
-  return FALSE;
+  return false;
 }
 }
 
 
 /* Backup setting of ICU_DATA_DIR_PREFIX_ENV_VAR
 /* Backup setting of ICU_DATA_DIR_PREFIX_ENV_VAR
@@ -1402,12 +1402,12 @@ static BOOL U_CALLCONV getIcuDataDirectoryUnderWindowsDirectory(char* directoryB
             if ((windowsPathUtf8Len + UPRV_LENGTHOF(ICU_DATA_DIR_WINDOWS)) < bufferLength) {
             if ((windowsPathUtf8Len + UPRV_LENGTHOF(ICU_DATA_DIR_WINDOWS)) < bufferLength) {
                 uprv_strcpy(directoryBuffer, windowsPathUtf8);
                 uprv_strcpy(directoryBuffer, windowsPathUtf8);
                 uprv_strcat(directoryBuffer, ICU_DATA_DIR_WINDOWS);
                 uprv_strcat(directoryBuffer, ICU_DATA_DIR_WINDOWS);
-                return TRUE;
+                return true;
             }
             }
         }
         }
     }
     }
 
 
-    return FALSE;
+    return false;
 }
 }
 #endif
 #endif
 
 

+ 16 - 16
thirdparty/icu4c/common/rbbi.cpp

@@ -39,7 +39,7 @@
 #include "uvectr32.h"
 #include "uvectr32.h"
 
 
 #ifdef RBBI_DEBUG
 #ifdef RBBI_DEBUG
-static UBool gTrace = FALSE;
+static UBool gTrace = false;
 #endif
 #endif
 
 
 U_NAMESPACE_BEGIN
 U_NAMESPACE_BEGIN
@@ -267,7 +267,7 @@ RuleBasedBreakIterator::operator=(const RuleBasedBreakIterator& that) {
     }
     }
     // TODO: clone fLanguageBreakEngines from "that"
     // TODO: clone fLanguageBreakEngines from "that"
     UErrorCode status = U_ZERO_ERROR;
     UErrorCode status = U_ZERO_ERROR;
-    utext_clone(&fText, &that.fText, FALSE, TRUE, &status);
+    utext_clone(&fText, &that.fText, false, true, &status);
 
 
     if (fCharIter != &fSCharIter) {
     if (fCharIter != &fSCharIter) {
         delete fCharIter;
         delete fCharIter;
@@ -354,13 +354,13 @@ void RuleBasedBreakIterator::init(UErrorCode &status) {
     }
     }
 
 
 #ifdef RBBI_DEBUG
 #ifdef RBBI_DEBUG
-    static UBool debugInitDone = FALSE;
-    if (debugInitDone == FALSE) {
+    static UBool debugInitDone = false;
+    if (debugInitDone == false) {
         char *debugEnv = getenv("U_RBBIDEBUG");
         char *debugEnv = getenv("U_RBBIDEBUG");
         if (debugEnv && uprv_strstr(debugEnv, "trace")) {
         if (debugEnv && uprv_strstr(debugEnv, "trace")) {
-            gTrace = TRUE;
+            gTrace = true;
         }
         }
-        debugInitDone = TRUE;
+        debugInitDone = true;
     }
     }
 #endif
 #endif
 }
 }
@@ -439,7 +439,7 @@ void RuleBasedBreakIterator::setText(UText *ut, UErrorCode &status) {
     }
     }
     fBreakCache->reset();
     fBreakCache->reset();
     fDictionaryCache->reset();
     fDictionaryCache->reset();
-    utext_clone(&fText, ut, FALSE, TRUE, &status);
+    utext_clone(&fText, ut, false, true, &status);
 
 
     // Set up a dummy CharacterIterator to be returned if anyone
     // Set up a dummy CharacterIterator to be returned if anyone
     //   calls getText().  With input from UText, there is no reasonable
     //   calls getText().  With input from UText, there is no reasonable
@@ -460,7 +460,7 @@ void RuleBasedBreakIterator::setText(UText *ut, UErrorCode &status) {
 
 
 
 
 UText *RuleBasedBreakIterator::getUText(UText *fillIn, UErrorCode &status) const {
 UText *RuleBasedBreakIterator::getUText(UText *fillIn, UErrorCode &status) const {
-    UText *result = utext_clone(fillIn, &fText, FALSE, TRUE, &status);
+    UText *result = utext_clone(fillIn, &fText, false, true, &status);
     return result;
     return result;
 }
 }
 
 
@@ -548,7 +548,7 @@ RuleBasedBreakIterator &RuleBasedBreakIterator::refreshInputText(UText *input, U
     }
     }
     int64_t pos = utext_getNativeIndex(&fText);
     int64_t pos = utext_getNativeIndex(&fText);
     //  Shallow read-only clone of the new UText into the existing input UText
     //  Shallow read-only clone of the new UText into the existing input UText
-    utext_clone(&fText, input, FALSE, TRUE, &status);
+    utext_clone(&fText, input, false, true, &status);
     if (U_FAILURE(status)) {
     if (U_FAILURE(status)) {
         return *this;
         return *this;
     }
     }
@@ -696,7 +696,7 @@ UBool RuleBasedBreakIterator::isBoundary(int32_t offset) {
     // out-of-range indexes are never boundary positions
     // out-of-range indexes are never boundary positions
     if (offset < 0) {
     if (offset < 0) {
         first();       // For side effects on current position, tag values.
         first();       // For side effects on current position, tag values.
-        return FALSE;
+        return false;
     }
     }
 
 
     // Adjust offset to be on a code point boundary and not beyond the end of the text.
     // Adjust offset to be on a code point boundary and not beyond the end of the text.
@@ -713,9 +713,9 @@ UBool RuleBasedBreakIterator::isBoundary(int32_t offset) {
     }
     }
 
 
     if (result && adjustedOffset < offset && utext_char32At(&fText, offset) == U_SENTINEL) {
     if (result && adjustedOffset < offset && utext_char32At(&fText, offset) == U_SENTINEL) {
-        // Original offset is beyond the end of the text. Return FALSE, it's not a boundary,
+        // Original offset is beyond the end of the text. Return false, it's not a boundary,
         // but the iteration position remains set to the end of the text, which is a boundary.
         // but the iteration position remains set to the end of the text, which is a boundary.
-        return FALSE;
+        return false;
     }
     }
     if (!result) {
     if (!result) {
         // Not on a boundary. isBoundary() must leave iterator on the following boundary.
         // Not on a boundary. isBoundary() must leave iterator on the following boundary.
@@ -838,7 +838,7 @@ int32_t RuleBasedBreakIterator::handleNext() {
     result          = initialPosition;
     result          = initialPosition;
     c               = UTEXT_NEXT32(&fText);
     c               = UTEXT_NEXT32(&fText);
     if (c==U_SENTINEL) {
     if (c==U_SENTINEL) {
-        fDone = TRUE;
+        fDone = true;
         return UBRK_DONE;
         return UBRK_DONE;
     }
     }
 
 
@@ -1153,8 +1153,8 @@ U_NAMESPACE_END
 
 
 static icu::UStack *gLanguageBreakFactories = nullptr;
 static icu::UStack *gLanguageBreakFactories = nullptr;
 static const icu::UnicodeString *gEmptyString = nullptr;
 static const icu::UnicodeString *gEmptyString = nullptr;
-static icu::UInitOnce gLanguageBreakFactoriesInitOnce = U_INITONCE_INITIALIZER;
-static icu::UInitOnce gRBBIInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce gLanguageBreakFactoriesInitOnce {};
+static icu::UInitOnce gRBBIInitOnce {};
 
 
 /**
 /**
  * Release all static memory held by breakiterator.
  * Release all static memory held by breakiterator.
@@ -1167,7 +1167,7 @@ UBool U_CALLCONV rbbi_cleanup(void) {
     gEmptyString = nullptr;
     gEmptyString = nullptr;
     gLanguageBreakFactoriesInitOnce.reset();
     gLanguageBreakFactoriesInitOnce.reset();
     gRBBIInitOnce.reset();
     gRBBIInitOnce.reset();
-    return TRUE;
+    return true;
 }
 }
 U_CDECL_END
 U_CDECL_END
 
 

+ 98 - 52
thirdparty/icu4c/common/rbbi_cache.cpp

@@ -45,7 +45,7 @@ void RuleBasedBreakIterator::DictionaryCache::reset() {
 UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_t *result, int32_t *statusIndex) {
 UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_t *result, int32_t *statusIndex) {
     if (fromPos >= fLimit || fromPos < fStart) {
     if (fromPos >= fLimit || fromPos < fStart) {
         fPositionInCache = -1;
         fPositionInCache = -1;
-        return FALSE;
+        return false;
     }
     }
 
 
     // Sequential iteration, move from previous boundary to the following
     // Sequential iteration, move from previous boundary to the following
@@ -55,13 +55,13 @@ UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_
         ++fPositionInCache;
         ++fPositionInCache;
         if (fPositionInCache >= fBreaks.size()) {
         if (fPositionInCache >= fBreaks.size()) {
             fPositionInCache = -1;
             fPositionInCache = -1;
-            return FALSE;
+            return false;
         }
         }
         r = fBreaks.elementAti(fPositionInCache);
         r = fBreaks.elementAti(fPositionInCache);
         U_ASSERT(r > fromPos);
         U_ASSERT(r > fromPos);
         *result = r;
         *result = r;
         *statusIndex = fOtherRuleStatusIndex;
         *statusIndex = fOtherRuleStatusIndex;
-        return TRUE;
+        return true;
     }
     }
 
 
     // Random indexing. Linear search for the boundary following the given position.
     // Random indexing. Linear search for the boundary following the given position.
@@ -71,7 +71,7 @@ UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_
         if (r > fromPos) {
         if (r > fromPos) {
             *result = r;
             *result = r;
             *statusIndex = fOtherRuleStatusIndex;
             *statusIndex = fOtherRuleStatusIndex;
-            return TRUE;
+            return true;
         }
         }
     }
     }
     UPRV_UNREACHABLE_EXIT;
     UPRV_UNREACHABLE_EXIT;
@@ -81,7 +81,7 @@ UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_
 UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_t *result, int32_t *statusIndex) {
 UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_t *result, int32_t *statusIndex) {
     if (fromPos <= fStart || fromPos > fLimit) {
     if (fromPos <= fStart || fromPos > fLimit) {
         fPositionInCache = -1;
         fPositionInCache = -1;
-        return FALSE;
+        return false;
     }
     }
 
 
     if (fromPos == fLimit) {
     if (fromPos == fLimit) {
@@ -98,12 +98,12 @@ UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_
         U_ASSERT(r < fromPos);
         U_ASSERT(r < fromPos);
         *result = r;
         *result = r;
         *statusIndex = ( r== fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex;
         *statusIndex = ( r== fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex;
-        return TRUE;
+        return true;
     }
     }
 
 
     if (fPositionInCache == 0) {
     if (fPositionInCache == 0) {
         fPositionInCache = -1;
         fPositionInCache = -1;
-        return FALSE;
+        return false;
     }
     }
 
 
     for (fPositionInCache = fBreaks.size()-1; fPositionInCache >= 0; --fPositionInCache) {
     for (fPositionInCache = fBreaks.size()-1; fPositionInCache >= 0; --fPositionInCache) {
@@ -111,7 +111,7 @@ UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_
         if (r < fromPos) {
         if (r < fromPos) {
             *result = r;
             *result = r;
             *statusIndex = ( r == fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex;
             *statusIndex = ( r == fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex;
-            return TRUE;
+            return true;
         }
         }
     }
     }
     UPRV_UNREACHABLE_EXIT;
     UPRV_UNREACHABLE_EXIT;
@@ -227,7 +227,7 @@ void RuleBasedBreakIterator::BreakCache::reset(int32_t pos, int32_t ruleStatus)
 int32_t  RuleBasedBreakIterator::BreakCache::current() {
 int32_t  RuleBasedBreakIterator::BreakCache::current() {
     fBI->fPosition = fTextIdx;
     fBI->fPosition = fTextIdx;
     fBI->fRuleStatusIndex = fStatuses[fBufIdx];
     fBI->fRuleStatusIndex = fStatuses[fBufIdx];
-    fBI->fDone = FALSE;
+    fBI->fDone = false;
     return fTextIdx;
     return fTextIdx;
 }
 }
 
 
@@ -302,18 +302,18 @@ void RuleBasedBreakIterator::BreakCache::previous(UErrorCode &status) {
 
 
 UBool RuleBasedBreakIterator::BreakCache::seek(int32_t pos) {
 UBool RuleBasedBreakIterator::BreakCache::seek(int32_t pos) {
     if (pos < fBoundaries[fStartBufIdx] || pos > fBoundaries[fEndBufIdx]) {
     if (pos < fBoundaries[fStartBufIdx] || pos > fBoundaries[fEndBufIdx]) {
-        return FALSE;
+        return false;
     }
     }
     if (pos == fBoundaries[fStartBufIdx]) {
     if (pos == fBoundaries[fStartBufIdx]) {
         // Common case: seek(0), from BreakIterator::first()
         // Common case: seek(0), from BreakIterator::first()
         fBufIdx = fStartBufIdx;
         fBufIdx = fStartBufIdx;
         fTextIdx = fBoundaries[fBufIdx];
         fTextIdx = fBoundaries[fBufIdx];
-        return TRUE;
+        return true;
     }
     }
     if (pos == fBoundaries[fEndBufIdx]) {
     if (pos == fBoundaries[fEndBufIdx]) {
         fBufIdx = fEndBufIdx;
         fBufIdx = fEndBufIdx;
         fTextIdx = fBoundaries[fBufIdx];
         fTextIdx = fBoundaries[fBufIdx];
-        return TRUE;
+        return true;
     }
     }
 
 
     int32_t min = fStartBufIdx;
     int32_t min = fStartBufIdx;
@@ -331,51 +331,97 @@ UBool RuleBasedBreakIterator::BreakCache::seek(int32_t pos) {
     fBufIdx = modChunkSize(max - 1);
     fBufIdx = modChunkSize(max - 1);
     fTextIdx = fBoundaries[fBufIdx];
     fTextIdx = fBoundaries[fBufIdx];
     U_ASSERT(fTextIdx <= pos);
     U_ASSERT(fTextIdx <= pos);
-    return TRUE;
+    return true;
 }
 }
 
 
 
 
 UBool RuleBasedBreakIterator::BreakCache::populateNear(int32_t position, UErrorCode &status) {
 UBool RuleBasedBreakIterator::BreakCache::populateNear(int32_t position, UErrorCode &status) {
     if (U_FAILURE(status)) {
     if (U_FAILURE(status)) {
-        return FALSE;
+        return false;
     }
     }
     U_ASSERT(position < fBoundaries[fStartBufIdx] || position > fBoundaries[fEndBufIdx]);
     U_ASSERT(position < fBoundaries[fStartBufIdx] || position > fBoundaries[fEndBufIdx]);
 
 
-    // Find a boundary somewhere in the vicinity of the requested position.
-    // Depending on the safe rules and the text data, it could be either before, at, or after
-    // the requested position.
-
+    // Add boundaries to the cache near the specified position.
+    // The given position need not be a boundary itself.
+    // The input position must be within the range of the text, and
+    // on a code point boundary.
+    // If the requested position is a break boundary, leave the iteration
+    // position on it.
+    // If the requested position is not a boundary, leave the iteration
+    // position on the preceding boundary and include both the
+    // preceding and following boundaries in the cache.
+    // Additional boundaries, either preceding or following, may be added
+    // to the cache as a side effect.
 
 
     // If the requested position is not near already cached positions, clear the existing cache,
     // If the requested position is not near already cached positions, clear the existing cache,
     // find a near-by boundary and begin new cache contents there.
     // find a near-by boundary and begin new cache contents there.
 
 
-    if ((position < fBoundaries[fStartBufIdx] - 15) || position > (fBoundaries[fEndBufIdx] + 15)) {
-        int32_t aBoundary = 0;
-        int32_t ruleStatusIndex = 0;
-        if (position > 20) {
-            int32_t backupPos = fBI->handleSafePrevious(position);
-
-            if (backupPos > 0) {
-                // Advance to the boundary following the backup position.
-                // There is a complication: the safe reverse rules identify pairs of code points
-                // that are safe. If advancing from the safe point moves forwards by less than
-                // two code points, we need to advance one more time to ensure that the boundary
-                // is good, including a correct rules status value.
-                //
-                fBI->fPosition = backupPos;
-                aBoundary = fBI->handleNext();
-                if (aBoundary <= backupPos + 4) {
-                    // +4 is a quick test for possibly having advanced only one codepoint.
-                    // Four being the length of the longest potential code point, a supplementary in UTF-8
-                    utext_setNativeIndex(&fBI->fText, aBoundary);
-                    if (backupPos == utext_getPreviousNativeIndex(&fBI->fText)) {
-                        // The initial handleNext() only advanced by a single code point. Go again.
-                        aBoundary = fBI->handleNext();   // Safe rules identify safe pairs.
-                    }
+    // Threshold for a text position to be considered near to existing cache contents.
+    // TODO: See issue ICU-22024 "perf tuning of Cache needed."
+    //       This value is subject to change. See the ticket for more details.
+    static constexpr int32_t CACHE_NEAR = 15;
+
+    int32_t aBoundary = -1;
+    int32_t ruleStatusIndex = 0;
+    bool retainCache = false;
+    if ((position > fBoundaries[fStartBufIdx] - CACHE_NEAR) && position < (fBoundaries[fEndBufIdx] + CACHE_NEAR)) {
+        // Requested position is near the existing cache. Retain it.
+        retainCache = true;
+    } else if (position <= CACHE_NEAR) {
+        // Requested position is near the start of the text. Fill cache from start, skipping
+        // the need to find a safe point.
+        retainCache = false;
+        aBoundary = 0;
+    } else {
+        // Requested position is not near the existing cache.
+        // Find a safe point to refill the cache from.
+        int32_t backupPos = fBI->handleSafePrevious(position);
+
+        if (fBoundaries[fEndBufIdx] < position && fBoundaries[fEndBufIdx] >= (backupPos - CACHE_NEAR)) {
+            // The requested position is beyond the end of the existing cache, but the
+            // reverse rules produced a position near or before the cached region.
+            // Retain the existing cache, and fill from the end of it.
+            retainCache = true;
+        } else if (backupPos < CACHE_NEAR) {
+            // The safe reverse rules moved us to near the start of text.
+            // Take that (index 0) as the backup boundary, avoiding the complication
+            // (in the following block) of moving forward from the safe point to a known boundary.
+            //
+            // Retain the cache if it begins not too far from the requested position.
+            aBoundary = 0;
+            retainCache = (fBoundaries[fStartBufIdx] <= (position + CACHE_NEAR));
+        } else {
+            // The safe reverse rules produced a position that is neither near the existing
+            // cache, nor near the start of text.
+            // Advance to the boundary following.
+            // There is a complication: the safe reverse rules identify pairs of code points
+            // that are safe. If advancing from the safe point moves forwards by less than
+            // two code points, we need to advance one more time to ensure that the boundary
+            // is good, including a correct rules status value.
+            retainCache = false;
+            fBI->fPosition = backupPos;
+            aBoundary = fBI->handleNext();
+            if (aBoundary != UBRK_DONE && aBoundary <= backupPos + 4) {
+                // +4 is a quick test for possibly having advanced only one codepoint.
+                // Four being the length of the longest potential code point, a supplementary in UTF-8
+                utext_setNativeIndex(&fBI->fText, aBoundary);
+                if (backupPos == utext_getPreviousNativeIndex(&fBI->fText)) {
+                    // The initial handleNext() only advanced by a single code point. Go again.
+                    aBoundary = fBI->handleNext();   // Safe rules identify safe pairs.
                 }
                 }
-                ruleStatusIndex = fBI->fRuleStatusIndex;
             }
             }
+            if (aBoundary == UBRK_DONE) {
+                // Note (Andy Heninger): I don't think this condition can occur, but it's hard
+                // to prove that it can't. We ran off the end of the string looking a boundary
+                // following a safe point; choose the end of the string as that boundary.
+                aBoundary = utext_nativeLength(&fBI->fText);
+            }
+            ruleStatusIndex = fBI->fRuleStatusIndex;
         }
         }
+    }
+
+    if (!retainCache) {
+        U_ASSERT(aBoundary != -1);
         reset(aBoundary, ruleStatusIndex);        // Reset cache to hold aBoundary as a single starting point.
         reset(aBoundary, ruleStatusIndex);        // Reset cache to hold aBoundary as a single starting point.
     }
     }
 
 
@@ -430,13 +476,13 @@ UBool RuleBasedBreakIterator::BreakCache::populateFollowing() {
 
 
     if (fBI->fDictionaryCache->following(fromPosition, &pos, &ruleStatusIdx)) {
     if (fBI->fDictionaryCache->following(fromPosition, &pos, &ruleStatusIdx)) {
         addFollowing(pos, ruleStatusIdx, UpdateCachePosition);
         addFollowing(pos, ruleStatusIdx, UpdateCachePosition);
-        return TRUE;
+        return true;
     }
     }
 
 
     fBI->fPosition = fromPosition;
     fBI->fPosition = fromPosition;
     pos = fBI->handleNext();
     pos = fBI->handleNext();
     if (pos == UBRK_DONE) {
     if (pos == UBRK_DONE) {
-        return FALSE;
+        return false;
     }
     }
 
 
     ruleStatusIdx = fBI->fRuleStatusIndex;
     ruleStatusIdx = fBI->fRuleStatusIndex;
@@ -446,7 +492,7 @@ UBool RuleBasedBreakIterator::BreakCache::populateFollowing() {
         fBI->fDictionaryCache->populateDictionary(fromPosition, pos, fromRuleStatusIdx, ruleStatusIdx);
         fBI->fDictionaryCache->populateDictionary(fromPosition, pos, fromRuleStatusIdx, ruleStatusIdx);
         if (fBI->fDictionaryCache->following(fromPosition, &pos, &ruleStatusIdx)) {
         if (fBI->fDictionaryCache->following(fromPosition, &pos, &ruleStatusIdx)) {
             addFollowing(pos, ruleStatusIdx, UpdateCachePosition);
             addFollowing(pos, ruleStatusIdx, UpdateCachePosition);
-            return TRUE;
+            return true;
             // TODO: may want to move a sizable chunk of dictionary cache to break cache at this point.
             // TODO: may want to move a sizable chunk of dictionary cache to break cache at this point.
             //       But be careful with interactions with populateNear().
             //       But be careful with interactions with populateNear().
         }
         }
@@ -469,18 +515,18 @@ UBool RuleBasedBreakIterator::BreakCache::populateFollowing() {
         addFollowing(pos, fBI->fRuleStatusIndex, RetainCachePosition);
         addFollowing(pos, fBI->fRuleStatusIndex, RetainCachePosition);
     }
     }
 
 
-    return TRUE;
+    return true;
 }
 }
 
 
 
 
 UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status) {
 UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status) {
     if (U_FAILURE(status)) {
     if (U_FAILURE(status)) {
-        return FALSE;
+        return false;
     }
     }
 
 
     int32_t fromPosition = fBoundaries[fStartBufIdx];
     int32_t fromPosition = fBoundaries[fStartBufIdx];
     if (fromPosition == 0) {
     if (fromPosition == 0) {
-        return FALSE;
+        return false;
     }
     }
 
 
     int32_t position = 0;
     int32_t position = 0;
@@ -488,7 +534,7 @@ UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status)
 
 
     if (fBI->fDictionaryCache->preceding(fromPosition, &position, &positionStatusIdx)) {
     if (fBI->fDictionaryCache->preceding(fromPosition, &position, &positionStatusIdx)) {
         addPreceding(position, positionStatusIdx, UpdateCachePosition);
         addPreceding(position, positionStatusIdx, UpdateCachePosition);
-        return TRUE;
+        return true;
     }
     }
 
 
     int32_t backupPosition = fromPosition;
     int32_t backupPosition = fromPosition;
@@ -542,7 +588,7 @@ UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status)
             break;
             break;
         }
         }
 
 
-        UBool segmentHandledByDictionary = FALSE;
+        UBool segmentHandledByDictionary = false;
         if (fBI->fDictionaryCharCount != 0) {
         if (fBI->fDictionaryCharCount != 0) {
             // Segment from the rules includes dictionary characters.
             // Segment from the rules includes dictionary characters.
             // Subdivide it, with subdivided results going into the dictionary cache.
             // Subdivide it, with subdivided results going into the dictionary cache.
@@ -569,12 +615,12 @@ UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status)
     } while (position < fromPosition);
     } while (position < fromPosition);
 
 
     // Move boundaries from the side buffer to the main circular buffer.
     // Move boundaries from the side buffer to the main circular buffer.
-    UBool success = FALSE;
+    UBool success = false;
     if (!fSideBuffer.isEmpty()) {
     if (!fSideBuffer.isEmpty()) {
         positionStatusIdx = fSideBuffer.popi();
         positionStatusIdx = fSideBuffer.popi();
         position = fSideBuffer.popi();
         position = fSideBuffer.popi();
         addPreceding(position, positionStatusIdx, UpdateCachePosition);
         addPreceding(position, positionStatusIdx, UpdateCachePosition);
-        success = TRUE;
+        success = true;
     }
     }
 
 
     while (!fSideBuffer.isEmpty()) {
     while (!fSideBuffer.isEmpty()) {

+ 3 - 3
thirdparty/icu4c/common/rbbidata.cpp

@@ -38,7 +38,7 @@ RBBIDataWrapper::RBBIDataWrapper(const RBBIDataHeader *data, UErrorCode &status)
 RBBIDataWrapper::RBBIDataWrapper(const RBBIDataHeader *data, enum EDontAdopt, UErrorCode &status) {
 RBBIDataWrapper::RBBIDataWrapper(const RBBIDataHeader *data, enum EDontAdopt, UErrorCode &status) {
     init0();
     init0();
     init(data, status);
     init(data, status);
-    fDontFreeData = TRUE;
+    fDontFreeData = true;
 }
 }
 
 
 RBBIDataWrapper::RBBIDataWrapper(UDataMemory* udm, UErrorCode &status) {
 RBBIDataWrapper::RBBIDataWrapper(UDataMemory* udm, UErrorCode &status) {
@@ -86,7 +86,7 @@ void RBBIDataWrapper::init0() {
     fTrie         = NULL;
     fTrie         = NULL;
     fUDataMem     = NULL;
     fUDataMem     = NULL;
     fRefCount     = 0;
     fRefCount     = 0;
-    fDontFreeData = TRUE;
+    fDontFreeData = true;
 }
 }
 
 
 void RBBIDataWrapper::init(const RBBIDataHeader *data, UErrorCode &status) {
 void RBBIDataWrapper::init(const RBBIDataHeader *data, UErrorCode &status) {
@@ -102,7 +102,7 @@ void RBBIDataWrapper::init(const RBBIDataHeader *data, UErrorCode &status) {
     //       that is no longer supported.  At that time fFormatVersion was
     //       that is no longer supported.  At that time fFormatVersion was
     //       an int32_t field, rather than an array of 4 bytes.
     //       an int32_t field, rather than an array of 4 bytes.
 
 
-    fDontFreeData = FALSE;
+    fDontFreeData = false;
     if (data->fFTableLen != 0) {
     if (data->fFTableLen != 0) {
         fForwardTable = (RBBIStateTable *)((char *)data + fHeader->fFTable);
         fForwardTable = (RBBIStateTable *)((char *)data + fHeader->fFTable);
     }
     }

+ 7 - 7
thirdparty/icu4c/common/rbbinode.cpp

@@ -58,10 +58,10 @@ RBBINode::RBBINode(NodeType t) : UMemory() {
     fInputSet     = NULL;
     fInputSet     = NULL;
     fFirstPos     = 0;
     fFirstPos     = 0;
     fLastPos      = 0;
     fLastPos      = 0;
-    fNullable     = FALSE;
-    fLookAheadEnd = FALSE;
-    fRuleRoot     = FALSE;
-    fChainIn      = FALSE;
+    fNullable     = false;
+    fLookAheadEnd = false;
+    fRuleRoot     = false;
+    fChainIn      = false;
     fVal          = 0;
     fVal          = 0;
     fPrecedence   = precZero;
     fPrecedence   = precZero;
 
 
@@ -92,7 +92,7 @@ RBBINode::RBBINode(const RBBINode &other) : UMemory(other) {
     fLastPos     = other.fLastPos;
     fLastPos     = other.fLastPos;
     fNullable    = other.fNullable;
     fNullable    = other.fNullable;
     fVal         = other.fVal;
     fVal         = other.fVal;
-    fRuleRoot    = FALSE;
+    fRuleRoot    = false;
     fChainIn     = other.fChainIn;
     fChainIn     = other.fChainIn;
     UErrorCode     status = U_ZERO_ERROR;
     UErrorCode     status = U_ZERO_ERROR;
     fFirstPosSet = new UVector(status);   // TODO - get a real status from somewhere
     fFirstPosSet = new UVector(status);   // TODO - get a real status from somewhere
@@ -355,11 +355,11 @@ void RBBINode::printTree(const RBBINode *node, UBool printHeading) {
         // Unconditionally dump children of all other node types.
         // Unconditionally dump children of all other node types.
         if (node->fType != varRef) {
         if (node->fType != varRef) {
             if (node->fLeftChild != NULL) {
             if (node->fLeftChild != NULL) {
-                printTree(node->fLeftChild, FALSE);
+                printTree(node->fLeftChild, false);
             }
             }
             
             
             if (node->fRightChild != NULL) {
             if (node->fRightChild != NULL) {
-                printTree(node->fRightChild, FALSE);
+                printTree(node->fRightChild, false);
             }
             }
         }
         }
     }
     }

+ 3 - 3
thirdparty/icu4c/common/rbbirb.cpp

@@ -65,9 +65,9 @@ RBBIRuleBuilder::RBBIRuleBuilder(const UnicodeString   &rules,
     fDefaultTree        = &fForwardTree;
     fDefaultTree        = &fForwardTree;
     fForwardTable       = NULL;
     fForwardTable       = NULL;
     fRuleStatusVals     = NULL;
     fRuleStatusVals     = NULL;
-    fChainRules         = FALSE;
-    fLBCMNoChain        = FALSE;
-    fLookAheadHardBreak = FALSE;
+    fChainRules         = false;
+    fLBCMNoChain        = false;
+    fLookAheadHardBreak = false;
     fUSetNodes          = NULL;
     fUSetNodes          = NULL;
     fRuleStatusVals     = NULL;
     fRuleStatusVals     = NULL;
     fScanner            = NULL;
     fScanner            = NULL;

+ 4 - 4
thirdparty/icu4c/common/rbbirb.h

@@ -54,8 +54,8 @@ public:                                       //   of these structs for each ent
     ~RBBISymbolTableEntry();
     ~RBBISymbolTableEntry();
 
 
 private:
 private:
-    RBBISymbolTableEntry(const RBBISymbolTableEntry &other); // forbid copying of this class
-    RBBISymbolTableEntry &operator=(const RBBISymbolTableEntry &other); // forbid copying of this class
+    RBBISymbolTableEntry(const RBBISymbolTableEntry &other) = delete; // forbid copying of this class
+    RBBISymbolTableEntry &operator=(const RBBISymbolTableEntry &other) = delete; // forbid copying of this class
 };
 };
 
 
 
 
@@ -177,8 +177,8 @@ public:
     RBBIDataHeader                *flattenData();    // Create the flattened (runtime format)
     RBBIDataHeader                *flattenData();    // Create the flattened (runtime format)
                                                      // data tables..
                                                      // data tables..
 private:
 private:
-    RBBIRuleBuilder(const RBBIRuleBuilder &other); // forbid copying of this class
-    RBBIRuleBuilder &operator=(const RBBIRuleBuilder &other); // forbid copying of this class
+    RBBIRuleBuilder(const RBBIRuleBuilder &other) = delete; // forbid copying of this class
+    RBBIRuleBuilder &operator=(const RBBIRuleBuilder &other) = delete; // forbid copying of this class
 };
 };
 
 
 
 

+ 104 - 104
thirdparty/icu4c/common/rbbirpt.h

@@ -79,110 +79,110 @@ struct RBBIRuleTableEl {
 };
 };
 
 
 static const struct RBBIRuleTableEl gRuleParseStateTable[] = {
 static const struct RBBIRuleTableEl gRuleParseStateTable[] = {
-    {doNOP, 0, 0, 0, TRUE}
-    , {doExprStart, 254, 29, 9, FALSE}     //  1      start
-    , {doNOP, 132, 1,0,  TRUE}     //  2 
-    , {doNoChain, 94 /* ^ */, 12, 9, TRUE}     //  3 
-    , {doExprStart, 36 /* $ */, 88, 98, FALSE}     //  4 
-    , {doNOP, 33 /* ! */, 19,0,  TRUE}     //  5 
-    , {doNOP, 59 /* ; */, 1,0,  TRUE}     //  6 
-    , {doNOP, 252, 0,0,  FALSE}     //  7 
-    , {doExprStart, 255, 29, 9, FALSE}     //  8 
-    , {doEndOfRule, 59 /* ; */, 1,0,  TRUE}     //  9      break-rule-end
-    , {doNOP, 132, 9,0,  TRUE}     //  10 
-    , {doRuleError, 255, 103,0,  FALSE}     //  11 
-    , {doExprStart, 254, 29,0,  FALSE}     //  12      start-after-caret
-    , {doNOP, 132, 12,0,  TRUE}     //  13 
-    , {doRuleError, 94 /* ^ */, 103,0,  FALSE}     //  14 
-    , {doExprStart, 36 /* $ */, 88, 37, FALSE}     //  15 
-    , {doRuleError, 59 /* ; */, 103,0,  FALSE}     //  16 
-    , {doRuleError, 252, 103,0,  FALSE}     //  17 
-    , {doExprStart, 255, 29,0,  FALSE}     //  18 
-    , {doNOP, 33 /* ! */, 21,0,  TRUE}     //  19      rev-option
-    , {doReverseDir, 255, 28, 9, FALSE}     //  20 
-    , {doOptionStart, 130, 23,0,  TRUE}     //  21      option-scan1
-    , {doRuleError, 255, 103,0,  FALSE}     //  22 
-    , {doNOP, 129, 23,0,  TRUE}     //  23      option-scan2
-    , {doOptionEnd, 255, 25,0,  FALSE}     //  24 
-    , {doNOP, 59 /* ; */, 1,0,  TRUE}     //  25      option-scan3
-    , {doNOP, 132, 25,0,  TRUE}     //  26 
-    , {doRuleError, 255, 103,0,  FALSE}     //  27 
-    , {doExprStart, 255, 29, 9, FALSE}     //  28      reverse-rule
-    , {doRuleChar, 254, 38,0,  TRUE}     //  29      term
-    , {doNOP, 132, 29,0,  TRUE}     //  30 
-    , {doRuleChar, 131, 38,0,  TRUE}     //  31 
-    , {doNOP, 91 /* [ */, 94, 38, FALSE}     //  32 
-    , {doLParen, 40 /* ( */, 29, 38, TRUE}     //  33 
-    , {doNOP, 36 /* $ */, 88, 37, FALSE}     //  34 
-    , {doDotAny, 46 /* . */, 38,0,  TRUE}     //  35 
-    , {doRuleError, 255, 103,0,  FALSE}     //  36 
-    , {doCheckVarDef, 255, 38,0,  FALSE}     //  37      term-var-ref
-    , {doNOP, 132, 38,0,  TRUE}     //  38      expr-mod
-    , {doUnaryOpStar, 42 /* * */, 43,0,  TRUE}     //  39 
-    , {doUnaryOpPlus, 43 /* + */, 43,0,  TRUE}     //  40 
-    , {doUnaryOpQuestion, 63 /* ? */, 43,0,  TRUE}     //  41 
-    , {doNOP, 255, 43,0,  FALSE}     //  42 
-    , {doExprCatOperator, 254, 29,0,  FALSE}     //  43      expr-cont
-    , {doNOP, 132, 43,0,  TRUE}     //  44 
-    , {doExprCatOperator, 131, 29,0,  FALSE}     //  45 
-    , {doExprCatOperator, 91 /* [ */, 29,0,  FALSE}     //  46 
-    , {doExprCatOperator, 40 /* ( */, 29,0,  FALSE}     //  47 
-    , {doExprCatOperator, 36 /* $ */, 29,0,  FALSE}     //  48 
-    , {doExprCatOperator, 46 /* . */, 29,0,  FALSE}     //  49 
-    , {doExprCatOperator, 47 /* / */, 55,0,  FALSE}     //  50 
-    , {doExprCatOperator, 123 /* { */, 67,0,  TRUE}     //  51 
-    , {doExprOrOperator, 124 /* | */, 29,0,  TRUE}     //  52 
-    , {doExprRParen, 41 /* ) */, 255,0,  TRUE}     //  53 
-    , {doExprFinished, 255, 255,0,  FALSE}     //  54 
-    , {doSlash, 47 /* / */, 57,0,  TRUE}     //  55      look-ahead
-    , {doNOP, 255, 103,0,  FALSE}     //  56 
-    , {doExprCatOperator, 254, 29,0,  FALSE}     //  57      expr-cont-no-slash
-    , {doNOP, 132, 43,0,  TRUE}     //  58 
-    , {doExprCatOperator, 131, 29,0,  FALSE}     //  59 
-    , {doExprCatOperator, 91 /* [ */, 29,0,  FALSE}     //  60 
-    , {doExprCatOperator, 40 /* ( */, 29,0,  FALSE}     //  61 
-    , {doExprCatOperator, 36 /* $ */, 29,0,  FALSE}     //  62 
-    , {doExprCatOperator, 46 /* . */, 29,0,  FALSE}     //  63 
-    , {doExprOrOperator, 124 /* | */, 29,0,  TRUE}     //  64 
-    , {doExprRParen, 41 /* ) */, 255,0,  TRUE}     //  65 
-    , {doExprFinished, 255, 255,0,  FALSE}     //  66 
-    , {doNOP, 132, 67,0,  TRUE}     //  67      tag-open
-    , {doStartTagValue, 128, 70,0,  FALSE}     //  68 
-    , {doTagExpectedError, 255, 103,0,  FALSE}     //  69 
-    , {doNOP, 132, 74,0,  TRUE}     //  70      tag-value
-    , {doNOP, 125 /* } */, 74,0,  FALSE}     //  71 
-    , {doTagDigit, 128, 70,0,  TRUE}     //  72 
-    , {doTagExpectedError, 255, 103,0,  FALSE}     //  73 
-    , {doNOP, 132, 74,0,  TRUE}     //  74      tag-close
-    , {doTagValue, 125 /* } */, 77,0,  TRUE}     //  75 
-    , {doTagExpectedError, 255, 103,0,  FALSE}     //  76 
-    , {doExprCatOperator, 254, 29,0,  FALSE}     //  77      expr-cont-no-tag
-    , {doNOP, 132, 77,0,  TRUE}     //  78 
-    , {doExprCatOperator, 131, 29,0,  FALSE}     //  79 
-    , {doExprCatOperator, 91 /* [ */, 29,0,  FALSE}     //  80 
-    , {doExprCatOperator, 40 /* ( */, 29,0,  FALSE}     //  81 
-    , {doExprCatOperator, 36 /* $ */, 29,0,  FALSE}     //  82 
-    , {doExprCatOperator, 46 /* . */, 29,0,  FALSE}     //  83 
-    , {doExprCatOperator, 47 /* / */, 55,0,  FALSE}     //  84 
-    , {doExprOrOperator, 124 /* | */, 29,0,  TRUE}     //  85 
-    , {doExprRParen, 41 /* ) */, 255,0,  TRUE}     //  86 
-    , {doExprFinished, 255, 255,0,  FALSE}     //  87 
-    , {doStartVariableName, 36 /* $ */, 90,0,  TRUE}     //  88      scan-var-name
-    , {doNOP, 255, 103,0,  FALSE}     //  89 
-    , {doNOP, 130, 92,0,  TRUE}     //  90      scan-var-start
-    , {doVariableNameExpectedErr, 255, 103,0,  FALSE}     //  91 
-    , {doNOP, 129, 92,0,  TRUE}     //  92      scan-var-body
-    , {doEndVariableName, 255, 255,0,  FALSE}     //  93 
-    , {doScanUnicodeSet, 91 /* [ */, 255,0,  TRUE}     //  94      scan-unicode-set
-    , {doScanUnicodeSet, 112 /* p */, 255,0,  TRUE}     //  95 
-    , {doScanUnicodeSet, 80 /* P */, 255,0,  TRUE}     //  96 
-    , {doNOP, 255, 103,0,  FALSE}     //  97 
-    , {doNOP, 132, 98,0,  TRUE}     //  98      assign-or-rule
-    , {doStartAssign, 61 /* = */, 29, 101, TRUE}     //  99 
-    , {doNOP, 255, 37, 9, FALSE}     //  100 
-    , {doEndAssign, 59 /* ; */, 1,0,  TRUE}     //  101      assign-end
-    , {doRuleErrorAssignExpr, 255, 103,0,  FALSE}     //  102 
-    , {doExit, 255, 103,0,  TRUE}     //  103      errorDeath
+    {doNOP, 0, 0, 0, true}
+    , {doExprStart, 254, 29, 9, false}     //  1      start
+    , {doNOP, 132, 1,0,  true}     //  2 
+    , {doNoChain, 94 /* ^ */, 12, 9, true}     //  3 
+    , {doExprStart, 36 /* $ */, 88, 98, false}     //  4 
+    , {doNOP, 33 /* ! */, 19,0,  true}     //  5 
+    , {doNOP, 59 /* ; */, 1,0,  true}     //  6 
+    , {doNOP, 252, 0,0,  false}     //  7 
+    , {doExprStart, 255, 29, 9, false}     //  8 
+    , {doEndOfRule, 59 /* ; */, 1,0,  true}     //  9      break-rule-end
+    , {doNOP, 132, 9,0,  true}     //  10 
+    , {doRuleError, 255, 103,0,  false}     //  11 
+    , {doExprStart, 254, 29,0,  false}     //  12      start-after-caret
+    , {doNOP, 132, 12,0,  true}     //  13 
+    , {doRuleError, 94 /* ^ */, 103,0,  false}     //  14 
+    , {doExprStart, 36 /* $ */, 88, 37, false}     //  15 
+    , {doRuleError, 59 /* ; */, 103,0,  false}     //  16 
+    , {doRuleError, 252, 103,0,  false}     //  17 
+    , {doExprStart, 255, 29,0,  false}     //  18 
+    , {doNOP, 33 /* ! */, 21,0,  true}     //  19      rev-option
+    , {doReverseDir, 255, 28, 9, false}     //  20 
+    , {doOptionStart, 130, 23,0,  true}     //  21      option-scan1
+    , {doRuleError, 255, 103,0,  false}     //  22 
+    , {doNOP, 129, 23,0,  true}     //  23      option-scan2
+    , {doOptionEnd, 255, 25,0,  false}     //  24 
+    , {doNOP, 59 /* ; */, 1,0,  true}     //  25      option-scan3
+    , {doNOP, 132, 25,0,  true}     //  26 
+    , {doRuleError, 255, 103,0,  false}     //  27 
+    , {doExprStart, 255, 29, 9, false}     //  28      reverse-rule
+    , {doRuleChar, 254, 38,0,  true}     //  29      term
+    , {doNOP, 132, 29,0,  true}     //  30 
+    , {doRuleChar, 131, 38,0,  true}     //  31 
+    , {doNOP, 91 /* [ */, 94, 38, false}     //  32 
+    , {doLParen, 40 /* ( */, 29, 38, true}     //  33 
+    , {doNOP, 36 /* $ */, 88, 37, false}     //  34 
+    , {doDotAny, 46 /* . */, 38,0,  true}     //  35 
+    , {doRuleError, 255, 103,0,  false}     //  36 
+    , {doCheckVarDef, 255, 38,0,  false}     //  37      term-var-ref
+    , {doNOP, 132, 38,0,  true}     //  38      expr-mod
+    , {doUnaryOpStar, 42 /* * */, 43,0,  true}     //  39 
+    , {doUnaryOpPlus, 43 /* + */, 43,0,  true}     //  40 
+    , {doUnaryOpQuestion, 63 /* ? */, 43,0,  true}     //  41 
+    , {doNOP, 255, 43,0,  false}     //  42 
+    , {doExprCatOperator, 254, 29,0,  false}     //  43      expr-cont
+    , {doNOP, 132, 43,0,  true}     //  44 
+    , {doExprCatOperator, 131, 29,0,  false}     //  45 
+    , {doExprCatOperator, 91 /* [ */, 29,0,  false}     //  46 
+    , {doExprCatOperator, 40 /* ( */, 29,0,  false}     //  47 
+    , {doExprCatOperator, 36 /* $ */, 29,0,  false}     //  48 
+    , {doExprCatOperator, 46 /* . */, 29,0,  false}     //  49 
+    , {doExprCatOperator, 47 /* / */, 55,0,  false}     //  50 
+    , {doExprCatOperator, 123 /* { */, 67,0,  true}     //  51 
+    , {doExprOrOperator, 124 /* | */, 29,0,  true}     //  52 
+    , {doExprRParen, 41 /* ) */, 255,0,  true}     //  53 
+    , {doExprFinished, 255, 255,0,  false}     //  54 
+    , {doSlash, 47 /* / */, 57,0,  true}     //  55      look-ahead
+    , {doNOP, 255, 103,0,  false}     //  56 
+    , {doExprCatOperator, 254, 29,0,  false}     //  57      expr-cont-no-slash
+    , {doNOP, 132, 43,0,  true}     //  58 
+    , {doExprCatOperator, 131, 29,0,  false}     //  59 
+    , {doExprCatOperator, 91 /* [ */, 29,0,  false}     //  60 
+    , {doExprCatOperator, 40 /* ( */, 29,0,  false}     //  61 
+    , {doExprCatOperator, 36 /* $ */, 29,0,  false}     //  62 
+    , {doExprCatOperator, 46 /* . */, 29,0,  false}     //  63 
+    , {doExprOrOperator, 124 /* | */, 29,0,  true}     //  64 
+    , {doExprRParen, 41 /* ) */, 255,0,  true}     //  65 
+    , {doExprFinished, 255, 255,0,  false}     //  66 
+    , {doNOP, 132, 67,0,  true}     //  67      tag-open
+    , {doStartTagValue, 128, 70,0,  false}     //  68 
+    , {doTagExpectedError, 255, 103,0,  false}     //  69 
+    , {doNOP, 132, 74,0,  true}     //  70      tag-value
+    , {doNOP, 125 /* } */, 74,0,  false}     //  71 
+    , {doTagDigit, 128, 70,0,  true}     //  72 
+    , {doTagExpectedError, 255, 103,0,  false}     //  73 
+    , {doNOP, 132, 74,0,  true}     //  74      tag-close
+    , {doTagValue, 125 /* } */, 77,0,  true}     //  75 
+    , {doTagExpectedError, 255, 103,0,  false}     //  76 
+    , {doExprCatOperator, 254, 29,0,  false}     //  77      expr-cont-no-tag
+    , {doNOP, 132, 77,0,  true}     //  78 
+    , {doExprCatOperator, 131, 29,0,  false}     //  79 
+    , {doExprCatOperator, 91 /* [ */, 29,0,  false}     //  80 
+    , {doExprCatOperator, 40 /* ( */, 29,0,  false}     //  81 
+    , {doExprCatOperator, 36 /* $ */, 29,0,  false}     //  82 
+    , {doExprCatOperator, 46 /* . */, 29,0,  false}     //  83 
+    , {doExprCatOperator, 47 /* / */, 55,0,  false}     //  84 
+    , {doExprOrOperator, 124 /* | */, 29,0,  true}     //  85 
+    , {doExprRParen, 41 /* ) */, 255,0,  true}     //  86 
+    , {doExprFinished, 255, 255,0,  false}     //  87 
+    , {doStartVariableName, 36 /* $ */, 90,0,  true}     //  88      scan-var-name
+    , {doNOP, 255, 103,0,  false}     //  89 
+    , {doNOP, 130, 92,0,  true}     //  90      scan-var-start
+    , {doVariableNameExpectedErr, 255, 103,0,  false}     //  91 
+    , {doNOP, 129, 92,0,  true}     //  92      scan-var-body
+    , {doEndVariableName, 255, 255,0,  false}     //  93 
+    , {doScanUnicodeSet, 91 /* [ */, 255,0,  true}     //  94      scan-unicode-set
+    , {doScanUnicodeSet, 112 /* p */, 255,0,  true}     //  95 
+    , {doScanUnicodeSet, 80 /* P */, 255,0,  true}     //  96 
+    , {doNOP, 255, 103,0,  false}     //  97 
+    , {doNOP, 132, 98,0,  true}     //  98      assign-or-rule
+    , {doStartAssign, 61 /* = */, 29, 101, true}     //  99 
+    , {doNOP, 255, 37, 9, false}     //  100 
+    , {doEndAssign, 59 /* ; */, 1,0,  true}     //  101      assign-end
+    , {doRuleErrorAssignExpr, 255, 103,0,  false}     //  102 
+    , {doExit, 255, 103,0,  true}     //  103      errorDeath
  };
  };
 #ifdef RBBI_DEBUG
 #ifdef RBBI_DEBUG
 static const char * const RBBIRuleStateNames[] = {    0,
 static const char * const RBBIRuleStateNames[] = {    0,

+ 39 - 39
thirdparty/icu4c/common/rbbiscan.cpp

@@ -92,7 +92,7 @@ RBBIRuleScanner::RBBIRuleScanner(RBBIRuleBuilder *rb)
     fRB                 = rb;
     fRB                 = rb;
     fScanIndex          = 0;
     fScanIndex          = 0;
     fNextIndex          = 0;
     fNextIndex          = 0;
-    fQuoteMode          = FALSE;
+    fQuoteMode          = false;
     fLineNum            = 1;
     fLineNum            = 1;
     fCharNum            = 0;
     fCharNum            = 0;
     fLastChar           = 0;
     fLastChar           = 0;
@@ -103,9 +103,9 @@ RBBIRuleScanner::RBBIRuleScanner(RBBIRuleBuilder *rb)
     fNodeStack[0]       = NULL;
     fNodeStack[0]       = NULL;
     fNodeStackPtr       = 0;
     fNodeStackPtr       = 0;
 
 
-    fReverseRule        = FALSE;
-    fLookAheadRule      = FALSE;
-    fNoChainInRule      = FALSE;
+    fReverseRule        = false;
+    fLookAheadRule      = false;
+    fNoChainInRule      = false;
 
 
     fSymbolTable        = NULL;
     fSymbolTable        = NULL;
     fSetTable           = NULL;
     fSetTable           = NULL;
@@ -201,7 +201,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
 {
 {
     RBBINode *n       = NULL;
     RBBINode *n       = NULL;
 
 
-    UBool   returnVal = TRUE;
+    UBool   returnVal = true;
 
 
     switch (action) {
     switch (action) {
 
 
@@ -213,7 +213,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
 
 
     case doNoChain:
     case doNoChain:
         // Scanned a '^' while on the rule start state.
         // Scanned a '^' while on the rule start state.
-        fNoChainInRule = TRUE;
+        fNoChainInRule = true;
         break;
         break;
 
 
 
 
@@ -345,7 +345,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
             catNode->fRightChild      = endNode;
             catNode->fRightChild      = endNode;
             fNodeStack[fNodeStackPtr] = catNode;
             fNodeStack[fNodeStackPtr] = catNode;
             endNode->fVal             = fRuleNum;
             endNode->fVal             = fRuleNum;
-            endNode->fLookAheadEnd    = TRUE;
+            endNode->fLookAheadEnd    = true;
             thisRule                  = catNode;
             thisRule                  = catNode;
 
 
             // TODO: Disable chaining out of look-ahead (hard break) rules.
             // TODO: Disable chaining out of look-ahead (hard break) rules.
@@ -354,13 +354,13 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
         }
         }
 
 
         // Mark this node as being the root of a rule.
         // Mark this node as being the root of a rule.
-        thisRule->fRuleRoot = TRUE;
+        thisRule->fRuleRoot = true;
 
 
         // Flag if chaining into this rule is wanted.
         // Flag if chaining into this rule is wanted.
         //    
         //    
         if (fRB->fChainRules &&         // If rule chaining is enabled globally via !!chain
         if (fRB->fChainRules &&         // If rule chaining is enabled globally via !!chain
                 !fNoChainInRule) {      //     and no '^' chain-in inhibit was on this rule
                 !fNoChainInRule) {      //     and no '^' chain-in inhibit was on this rule
-            thisRule->fChainIn = TRUE;
+            thisRule->fChainIn = true;
         }
         }
 
 
 
 
@@ -398,9 +398,9 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
             // Just move its parse tree from the stack to *destRules.
             // Just move its parse tree from the stack to *destRules.
             *destRules = fNodeStack[fNodeStackPtr];
             *destRules = fNodeStack[fNodeStackPtr];
         }
         }
-        fReverseRule   = FALSE;   // in preparation for the next rule.
-        fLookAheadRule = FALSE;
-        fNoChainInRule = FALSE;
+        fReverseRule   = false;   // in preparation for the next rule.
+        fLookAheadRule = false;
+        fNoChainInRule = false;
         fNodeStackPtr  = 0;
         fNodeStackPtr  = 0;
         }
         }
         break;
         break;
@@ -408,7 +408,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
 
 
     case doRuleError:
     case doRuleError:
         error(U_BRK_RULE_SYNTAX);
         error(U_BRK_RULE_SYNTAX);
-        returnVal = FALSE;
+        returnVal = false;
         break;
         break;
 
 
 
 
@@ -484,7 +484,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
             if (U_FAILURE(*fRB->fStatus)) {
             if (U_FAILURE(*fRB->fStatus)) {
                 break;
                 break;
             }
             }
-            findSetFor(UnicodeString(TRUE, kAny, 3), n);
+            findSetFor(UnicodeString(true, kAny, 3), n);
             n->fFirstPos = fScanIndex;
             n->fFirstPos = fScanIndex;
             n->fLastPos  = fNextIndex;
             n->fLastPos  = fNextIndex;
             fRB->fRules.extractBetween(n->fFirstPos, n->fLastPos, n->fText);
             fRB->fRules.extractBetween(n->fFirstPos, n->fLastPos, n->fText);
@@ -501,7 +501,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
         n->fFirstPos = fScanIndex;
         n->fFirstPos = fScanIndex;
         n->fLastPos  = fNextIndex;
         n->fLastPos  = fNextIndex;
         fRB->fRules.extractBetween(n->fFirstPos, n->fLastPos, n->fText);
         fRB->fRules.extractBetween(n->fFirstPos, n->fLastPos, n->fText);
-        fLookAheadRule = TRUE;
+        fLookAheadRule = true;
         break;
         break;
 
 
 
 
@@ -534,7 +534,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
 
 
     case doTagExpectedError:
     case doTagExpectedError:
         error(U_BRK_MALFORMED_RULE_TAG);
         error(U_BRK_MALFORMED_RULE_TAG);
-        returnVal = FALSE;
+        returnVal = false;
         break;
         break;
 
 
     case doOptionStart:
     case doOptionStart:
@@ -546,9 +546,9 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
         {
         {
             UnicodeString opt(fRB->fRules, fOptionStart, fScanIndex-fOptionStart);
             UnicodeString opt(fRB->fRules, fOptionStart, fScanIndex-fOptionStart);
             if (opt == UNICODE_STRING("chain", 5)) {
             if (opt == UNICODE_STRING("chain", 5)) {
-                fRB->fChainRules = TRUE;
+                fRB->fChainRules = true;
             } else if (opt == UNICODE_STRING("LBCMNoChain", 11)) {
             } else if (opt == UNICODE_STRING("LBCMNoChain", 11)) {
-                fRB->fLBCMNoChain = TRUE;
+                fRB->fLBCMNoChain = true;
             } else if (opt == UNICODE_STRING("forward", 7)) {
             } else if (opt == UNICODE_STRING("forward", 7)) {
                 fRB->fDefaultTree   = &fRB->fForwardTree;
                 fRB->fDefaultTree   = &fRB->fForwardTree;
             } else if (opt == UNICODE_STRING("reverse", 7)) {
             } else if (opt == UNICODE_STRING("reverse", 7)) {
@@ -558,7 +558,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
             } else if (opt == UNICODE_STRING("safe_reverse", 12)) {
             } else if (opt == UNICODE_STRING("safe_reverse", 12)) {
                 fRB->fDefaultTree   = &fRB->fSafeRevTree;
                 fRB->fDefaultTree   = &fRB->fSafeRevTree;
             } else if (opt == UNICODE_STRING("lookAheadHardBreak", 18)) {
             } else if (opt == UNICODE_STRING("lookAheadHardBreak", 18)) {
-                fRB->fLookAheadHardBreak = TRUE;
+                fRB->fLookAheadHardBreak = true;
             } else if (opt == UNICODE_STRING("quoted_literals_only", 20)) {
             } else if (opt == UNICODE_STRING("quoted_literals_only", 20)) {
                 fRuleSets[kRuleSet_rule_char-128].clear();
                 fRuleSets[kRuleSet_rule_char-128].clear();
             } else if (opt == UNICODE_STRING("unquoted_literals",  17)) {
             } else if (opt == UNICODE_STRING("unquoted_literals",  17)) {
@@ -570,7 +570,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
         break;
         break;
 
 
     case doReverseDir:
     case doReverseDir:
-        fReverseRule = TRUE;
+        fReverseRule = true;
         break;
         break;
 
 
     case doStartVariableName:
     case doStartVariableName:
@@ -600,7 +600,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
         n = fNodeStack[fNodeStackPtr];
         n = fNodeStack[fNodeStackPtr];
         if (n->fLeftChild == NULL) {
         if (n->fLeftChild == NULL) {
             error(U_BRK_UNDEFINED_VARIABLE);
             error(U_BRK_UNDEFINED_VARIABLE);
-            returnVal = FALSE;
+            returnVal = false;
         }
         }
         break;
         break;
 
 
@@ -609,11 +609,11 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
 
 
     case doRuleErrorAssignExpr:
     case doRuleErrorAssignExpr:
         error(U_BRK_ASSIGN_ERROR);
         error(U_BRK_ASSIGN_ERROR);
-        returnVal = FALSE;
+        returnVal = false;
         break;
         break;
 
 
     case doExit:
     case doExit:
-        returnVal = FALSE;
+        returnVal = false;
         break;
         break;
 
 
     case doScanUnicodeSet:
     case doScanUnicodeSet:
@@ -622,7 +622,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
 
 
     default:
     default:
         error(U_BRK_INTERNAL_ERROR);
         error(U_BRK_INTERNAL_ERROR);
-        returnVal = FALSE;
+        returnVal = false;
         break;
         break;
     }
     }
     return returnVal && U_SUCCESS(*fRB->fStatus);
     return returnVal && U_SUCCESS(*fRB->fStatus);
@@ -872,7 +872,7 @@ UChar32  RBBIRuleScanner::nextCharLL() {
         fCharNum=0;
         fCharNum=0;
         if (fQuoteMode) {
         if (fQuoteMode) {
             error(U_BRK_NEW_LINE_IN_QUOTED_STRING);
             error(U_BRK_NEW_LINE_IN_QUOTED_STRING);
-            fQuoteMode = FALSE;
+            fQuoteMode = false;
         }
         }
     }
     }
     else {
     else {
@@ -901,7 +901,7 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
 
 
     fScanIndex = fNextIndex;
     fScanIndex = fNextIndex;
     c.fChar    = nextCharLL();
     c.fChar    = nextCharLL();
-    c.fEscaped = FALSE;
+    c.fEscaped = false;
 
 
     //
     //
     //  check for '' sequence.
     //  check for '' sequence.
@@ -910,7 +910,7 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
     if (c.fChar == chApos) {
     if (c.fChar == chApos) {
         if (fRB->fRules.char32At(fNextIndex) == chApos) {
         if (fRB->fRules.char32At(fNextIndex) == chApos) {
             c.fChar    = nextCharLL();        // get nextChar officially so character counts
             c.fChar    = nextCharLL();        // get nextChar officially so character counts
-            c.fEscaped = TRUE;                //   stay correct.
+            c.fEscaped = true;                //   stay correct.
         }
         }
         else
         else
         {
         {
@@ -918,18 +918,18 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
             //   Toggle quoting mode.
             //   Toggle quoting mode.
             //   Return either '('  or ')', because quotes cause a grouping of the quoted text.
             //   Return either '('  or ')', because quotes cause a grouping of the quoted text.
             fQuoteMode = !fQuoteMode;
             fQuoteMode = !fQuoteMode;
-            if (fQuoteMode == TRUE) {
+            if (fQuoteMode == true) {
                 c.fChar = chLParen;
                 c.fChar = chLParen;
             } else {
             } else {
                 c.fChar = chRParen;
                 c.fChar = chRParen;
             }
             }
-            c.fEscaped = FALSE;      // The paren that we return is not escaped.
+            c.fEscaped = false;      // The paren that we return is not escaped.
             return;
             return;
         }
         }
     }
     }
 
 
     if (fQuoteMode) {
     if (fQuoteMode) {
-        c.fEscaped = TRUE;
+        c.fEscaped = true;
     }
     }
     else
     else
     {
     {
@@ -963,7 +963,7 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
         //  Use UnicodeString::unescapeAt() to handle them.
         //  Use UnicodeString::unescapeAt() to handle them.
         //
         //
         if (c.fChar == chBackSlash) {
         if (c.fChar == chBackSlash) {
-            c.fEscaped = TRUE;
+            c.fEscaped = true;
             int32_t startX = fNextIndex;
             int32_t startX = fNextIndex;
             c.fChar = fRB->fRules.unescapeAt(fNextIndex);
             c.fChar = fRB->fRules.unescapeAt(fNextIndex);
             if (fNextIndex == startX) {
             if (fNextIndex == startX) {
@@ -1032,7 +1032,7 @@ void RBBIRuleScanner::parse() {
             #ifdef RBBI_DEBUG
             #ifdef RBBI_DEBUG
                 if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "scan")) { RBBIDebugPrintf("."); fflush(stdout);}
                 if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "scan")) { RBBIDebugPrintf("."); fflush(stdout);}
             #endif
             #endif
-            if (tableEl->fCharClass < 127 && fC.fEscaped == FALSE &&   tableEl->fCharClass == fC.fChar) {
+            if (tableEl->fCharClass < 127 && fC.fEscaped == false &&   tableEl->fCharClass == fC.fChar) {
                 // Table row specified an individual character, not a set, and
                 // Table row specified an individual character, not a set, and
                 //   the input character is not escaped, and
                 //   the input character is not escaped, and
                 //   the input character matched it.
                 //   the input character matched it.
@@ -1057,7 +1057,7 @@ void RBBIRuleScanner::parse() {
             }
             }
 
 
             if (tableEl->fCharClass >= 128 && tableEl->fCharClass < 240 &&   // Table specs a char class &&
             if (tableEl->fCharClass >= 128 && tableEl->fCharClass < 240 &&   // Table specs a char class &&
-                fC.fEscaped == FALSE &&                                      //   char is not escaped &&
+                fC.fEscaped == false &&                                      //   char is not escaped &&
                 fC.fChar != (UChar32)-1) {                                   //   char is not EOF
                 fC.fChar != (UChar32)-1) {                                   //   char is not EOF
                 U_ASSERT((tableEl->fCharClass-128) < UPRV_LENGTHOF(fRuleSets));
                 U_ASSERT((tableEl->fCharClass-128) < UPRV_LENGTHOF(fRuleSets));
                 if (fRuleSets[tableEl->fCharClass-128].contains(fC.fChar)) {
                 if (fRuleSets[tableEl->fCharClass-128].contains(fC.fChar)) {
@@ -1076,7 +1076,7 @@ void RBBIRuleScanner::parse() {
         // We've found the row of the state table that matches the current input
         // We've found the row of the state table that matches the current input
         //   character from the rules string.
         //   character from the rules string.
         // Perform any action specified  by this row in the state table.
         // Perform any action specified  by this row in the state table.
-        if (doParseActions((int32_t)tableEl->fAction) == FALSE) {
+        if (doParseActions((int32_t)tableEl->fAction) == false) {
             // Break out of the state machine loop if the
             // Break out of the state machine loop if the
             //   the action signalled some kind of error, or
             //   the action signalled some kind of error, or
             //   the action was to exit, occurs on normal end-of-rules-input.
             //   the action was to exit, occurs on normal end-of-rules-input.
@@ -1133,13 +1133,13 @@ void RBBIRuleScanner::parse() {
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "symbols")) {fSymbolTable->rbbiSymtablePrint();}
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "symbols")) {fSymbolTable->rbbiSymtablePrint();}
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "ptree")) {
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "ptree")) {
         RBBIDebugPrintf("Completed Forward Rules Parse Tree...\n");
         RBBIDebugPrintf("Completed Forward Rules Parse Tree...\n");
-        RBBINode::printTree(fRB->fForwardTree, TRUE);
+        RBBINode::printTree(fRB->fForwardTree, true);
         RBBIDebugPrintf("\nCompleted Reverse Rules Parse Tree...\n");
         RBBIDebugPrintf("\nCompleted Reverse Rules Parse Tree...\n");
-        RBBINode::printTree(fRB->fReverseTree, TRUE);
+        RBBINode::printTree(fRB->fReverseTree, true);
         RBBIDebugPrintf("\nCompleted Safe Point Forward Rules Parse Tree...\n");
         RBBIDebugPrintf("\nCompleted Safe Point Forward Rules Parse Tree...\n");
-        RBBINode::printTree(fRB->fSafeFwdTree, TRUE);
+        RBBINode::printTree(fRB->fSafeFwdTree, true);
         RBBIDebugPrintf("\nCompleted Safe Point Reverse Rules Parse Tree...\n");
         RBBIDebugPrintf("\nCompleted Safe Point Reverse Rules Parse Tree...\n");
-        RBBINode::printTree(fRB->fSafeRevTree, TRUE);
+        RBBINode::printTree(fRB->fSafeRevTree, true);
     }
     }
 #endif
 #endif
 }
 }
@@ -1154,7 +1154,7 @@ void RBBIRuleScanner::parse() {
 void RBBIRuleScanner::printNodeStack(const char *title) {
 void RBBIRuleScanner::printNodeStack(const char *title) {
     int i;
     int i;
     RBBIDebugPrintf("%s.  Dumping node stack...\n", title);
     RBBIDebugPrintf("%s.  Dumping node stack...\n", title);
-    for (i=fNodeStackPtr; i>0; i--) {RBBINode::printTree(fNodeStack[i], TRUE);}
+    for (i=fNodeStackPtr; i>0; i--) {RBBINode::printTree(fNodeStack[i], true);}
 }
 }
 #endif
 #endif
 
 

+ 2 - 2
thirdparty/icu4c/common/rbbiscan.h

@@ -158,8 +158,8 @@ private:
     UnicodeSet *gRuleSet_name_char;
     UnicodeSet *gRuleSet_name_char;
     UnicodeSet *gRuleSet_name_start_char;
     UnicodeSet *gRuleSet_name_start_char;
 
 
-    RBBIRuleScanner(const RBBIRuleScanner &other); // forbid copying of this class
-    RBBIRuleScanner &operator=(const RBBIRuleScanner &other); // forbid copying of this class
+    RBBIRuleScanner(const RBBIRuleScanner &other) = delete; // forbid copying of this class
+    RBBIRuleScanner &operator=(const RBBIRuleScanner &other) = delete; // forbid copying of this class
 };
 };
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END

+ 2 - 2
thirdparty/icu4c/common/rbbisetb.cpp

@@ -261,7 +261,7 @@ void RBBISetBuilder::buildRanges() {
         }
         }
         if (inputSet->contains(bofString)) {
         if (inputSet->contains(bofString)) {
             addValToSet(usetNode, 2);
             addValToSet(usetNode, 2);
-            fSawBOF = TRUE;
+            fSawBOF = true;
         }
         }
     }
     }
 
 
@@ -569,7 +569,7 @@ void RBBISetBuilder::printSets() {
         RBBI_DEBUG_printUnicodeString(usetNode->fText);
         RBBI_DEBUG_printUnicodeString(usetNode->fText);
         RBBIDebugPrintf("\n");
         RBBIDebugPrintf("\n");
         if (usetNode->fLeftChild != NULL) {
         if (usetNode->fLeftChild != NULL) {
-            RBBINode::printTree(usetNode->fLeftChild, TRUE);
+            RBBINode::printTree(usetNode->fLeftChild, true);
         }
         }
     }
     }
     RBBIDebugPrintf("\n");
     RBBIDebugPrintf("\n");

+ 2 - 2
thirdparty/icu4c/common/rbbisetb.h

@@ -134,8 +134,8 @@ private:
 
 
     UBool                 fSawBOF;
     UBool                 fSawBOF;
 
 
-    RBBISetBuilder(const RBBISetBuilder &other); // forbid copying of this class
-    RBBISetBuilder &operator=(const RBBISetBuilder &other); // forbid copying of this class
+    RBBISetBuilder(const RBBISetBuilder &other) = delete; // forbid copying of this class
+    RBBISetBuilder &operator=(const RBBISetBuilder &other) = delete; // forbid copying of this class
 };
 };
 
 
 
 

+ 2 - 2
thirdparty/icu4c/common/rbbistbl.cpp

@@ -254,8 +254,8 @@ void RBBISymbolTable::rbbiSymtablePrint() const {
         }
         }
         RBBISymbolTableEntry  *s   = (RBBISymbolTableEntry *)e->value.pointer;
         RBBISymbolTableEntry  *s   = (RBBISymbolTableEntry *)e->value.pointer;
         RBBIDebugPrintf("%s\n", CStr(s->key)());
         RBBIDebugPrintf("%s\n", CStr(s->key)());
-        RBBINode::printTree(s->val, TRUE);
-        RBBINode::printTree(s->val->fLeftChild, FALSE);
+        RBBINode::printTree(s->val, true);
+        RBBINode::printTree(s->val->fLeftChild, false);
         RBBIDebugPrintf("\n");
         RBBIDebugPrintf("\n");
     }
     }
 }
 }

+ 12 - 12
thirdparty/icu4c/common/rbbitblb.cpp

@@ -85,7 +85,7 @@ void  RBBITableBuilder::buildForwardTable() {
 #ifdef RBBI_DEBUG
 #ifdef RBBI_DEBUG
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "ftree")) {
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "ftree")) {
         RBBIDebugPuts("\nParse tree after flattening variable references.");
         RBBIDebugPuts("\nParse tree after flattening variable references.");
-        RBBINode::printTree(fTree, TRUE);
+        RBBINode::printTree(fTree, true);
     }
     }
 #endif
 #endif
 
 
@@ -143,7 +143,7 @@ void  RBBITableBuilder::buildForwardTable() {
 #ifdef RBBI_DEBUG
 #ifdef RBBI_DEBUG
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "stree")) {
     if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "stree")) {
         RBBIDebugPuts("\nParse tree after flattening Unicode Set references.");
         RBBIDebugPuts("\nParse tree after flattening Unicode Set references.");
-        RBBINode::printTree(fTree, TRUE);
+        RBBINode::printTree(fTree, true);
     }
     }
 #endif
 #endif
 
 
@@ -209,14 +209,14 @@ void RBBITableBuilder::calcNullable(RBBINode *n) {
     if (n->fType == RBBINode::setRef ||
     if (n->fType == RBBINode::setRef ||
         n->fType == RBBINode::endMark ) {
         n->fType == RBBINode::endMark ) {
         // These are non-empty leaf node types.
         // These are non-empty leaf node types.
-        n->fNullable = FALSE;
+        n->fNullable = false;
         return;
         return;
     }
     }
 
 
     if (n->fType == RBBINode::lookAhead || n->fType == RBBINode::tag) {
     if (n->fType == RBBINode::lookAhead || n->fType == RBBINode::tag) {
         // Lookahead marker node.  It's a leaf, so no recursion on children.
         // Lookahead marker node.  It's a leaf, so no recursion on children.
         // It's nullable because it does not match any literal text from the input stream.
         // It's nullable because it does not match any literal text from the input stream.
-        n->fNullable = TRUE;
+        n->fNullable = true;
         return;
         return;
     }
     }
 
 
@@ -234,10 +234,10 @@ void RBBITableBuilder::calcNullable(RBBINode *n) {
         n->fNullable = n->fLeftChild->fNullable && n->fRightChild->fNullable;
         n->fNullable = n->fLeftChild->fNullable && n->fRightChild->fNullable;
     }
     }
     else if (n->fType == RBBINode::opStar || n->fType == RBBINode::opQuestion) {
     else if (n->fType == RBBINode::opStar || n->fType == RBBINode::opQuestion) {
-        n->fNullable = TRUE;
+        n->fNullable = true;
     }
     }
     else {
     else {
-        n->fNullable = FALSE;
+        n->fNullable = false;
     }
     }
 }
 }
 
 
@@ -618,7 +618,7 @@ void RBBITableBuilder::buildStateTable() {
         for (tx=1; tx<fDStates->size(); tx++) {
         for (tx=1; tx<fDStates->size(); tx++) {
             RBBIStateDescriptor *temp;
             RBBIStateDescriptor *temp;
             temp = (RBBIStateDescriptor *)fDStates->elementAt(tx);
             temp = (RBBIStateDescriptor *)fDStates->elementAt(tx);
-            if (temp->fMarked == FALSE) {
+            if (temp->fMarked == false) {
                 T = temp;
                 T = temp;
                 break;
                 break;
             }
             }
@@ -628,7 +628,7 @@ void RBBITableBuilder::buildStateTable() {
         }
         }
 
 
         // mark T;
         // mark T;
-        T->fMarked = TRUE;
+        T->fMarked = true;
 
 
         // for each input symbol a do begin
         // for each input symbol a do begin
         int32_t  a;
         int32_t  a;
@@ -655,7 +655,7 @@ void RBBITableBuilder::buildStateTable() {
 
 
             // if U is not empty and not in DStates then
             // if U is not empty and not in DStates then
             int32_t  ux = 0;
             int32_t  ux = 0;
-            UBool    UinDstates = FALSE;
+            UBool    UinDstates = false;
             if (U != NULL) {
             if (U != NULL) {
                 U_ASSERT(U->size() > 0);
                 U_ASSERT(U->size() > 0);
                 int  ix;
                 int  ix;
@@ -666,7 +666,7 @@ void RBBITableBuilder::buildStateTable() {
                         delete U;
                         delete U;
                         U  = temp2->fPositions;
                         U  = temp2->fPositions;
                         ux = ix;
                         ux = ix;
-                        UinDstates = TRUE;
+                        UinDstates = true;
                         break;
                         break;
                     }
                     }
                 }
                 }
@@ -1131,7 +1131,7 @@ void RBBITableBuilder::printPosSets(RBBINode *n) {
     printf("\n");
     printf("\n");
     RBBINode::printNodeHeader();
     RBBINode::printNodeHeader();
     RBBINode::printNode(n);
     RBBINode::printNode(n);
-    RBBIDebugPrintf("         Nullable:  %s\n", n->fNullable?"TRUE":"FALSE");
+    RBBIDebugPrintf("         Nullable:  %s\n", n->fNullable?"true":"false");
 
 
     RBBIDebugPrintf("         firstpos:  ");
     RBBIDebugPrintf("         firstpos:  ");
     printSet(n->fFirstPosSet);
     printSet(n->fFirstPosSet);
@@ -1773,7 +1773,7 @@ void RBBITableBuilder::printRuleStatusTable() {
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 
 
 RBBIStateDescriptor::RBBIStateDescriptor(int lastInputSymbol, UErrorCode *fStatus) {
 RBBIStateDescriptor::RBBIStateDescriptor(int lastInputSymbol, UErrorCode *fStatus) {
-    fMarked    = FALSE;
+    fMarked    = false;
     fAccepting = 0;
     fAccepting = 0;
     fLookAhead = 0;
     fLookAhead = 0;
     fTagsIdx   = 0;
     fTagsIdx   = 0;

+ 2 - 2
thirdparty/icu4c/common/rbbitblb.h

@@ -219,8 +219,8 @@ public:
     ~RBBIStateDescriptor();
     ~RBBIStateDescriptor();
 
 
 private:
 private:
-    RBBIStateDescriptor(const RBBIStateDescriptor &other); // forbid copying of this class
-    RBBIStateDescriptor &operator=(const RBBIStateDescriptor &other); // forbid copying of this class
+    RBBIStateDescriptor(const RBBIStateDescriptor &other) = delete; // forbid copying of this class
+    RBBIStateDescriptor &operator=(const RBBIStateDescriptor &other) = delete; // forbid copying of this class
 };
 };
 
 
 
 

+ 5 - 5
thirdparty/icu4c/common/resbund.cpp

@@ -254,7 +254,7 @@ ResourceBundle::clone() const {
 UnicodeString ResourceBundle::getString(UErrorCode& status) const {
 UnicodeString ResourceBundle::getString(UErrorCode& status) const {
     int32_t len = 0;
     int32_t len = 0;
     const UChar *r = ures_getString(fResource, &len, &status);
     const UChar *r = ures_getString(fResource, &len, &status);
-    return UnicodeString(TRUE, r, len);
+    return UnicodeString(true, r, len);
 }
 }
 
 
 const uint8_t *ResourceBundle::getBinary(int32_t& len, UErrorCode& status) const {
 const uint8_t *ResourceBundle::getBinary(int32_t& len, UErrorCode& status) const {
@@ -312,13 +312,13 @@ ResourceBundle ResourceBundle::getNext(UErrorCode& status) {
 UnicodeString ResourceBundle::getNextString(UErrorCode& status) {
 UnicodeString ResourceBundle::getNextString(UErrorCode& status) {
     int32_t len = 0;
     int32_t len = 0;
     const UChar* r = ures_getNextString(fResource, &len, 0, &status);
     const UChar* r = ures_getNextString(fResource, &len, 0, &status);
-    return UnicodeString(TRUE, r, len);
+    return UnicodeString(true, r, len);
 }
 }
 
 
 UnicodeString ResourceBundle::getNextString(const char ** key, UErrorCode& status) {
 UnicodeString ResourceBundle::getNextString(const char ** key, UErrorCode& status) {
     int32_t len = 0;
     int32_t len = 0;
     const UChar* r = ures_getNextString(fResource, &len, key, &status);
     const UChar* r = ures_getNextString(fResource, &len, key, &status);
-    return UnicodeString(TRUE, r, len);
+    return UnicodeString(true, r, len);
 }
 }
 
 
 ResourceBundle ResourceBundle::get(int32_t indexR, UErrorCode& status) const {
 ResourceBundle ResourceBundle::get(int32_t indexR, UErrorCode& status) const {
@@ -336,7 +336,7 @@ ResourceBundle ResourceBundle::get(int32_t indexR, UErrorCode& status) const {
 UnicodeString ResourceBundle::getStringEx(int32_t indexS, UErrorCode& status) const {
 UnicodeString ResourceBundle::getStringEx(int32_t indexS, UErrorCode& status) const {
     int32_t len = 0;
     int32_t len = 0;
     const UChar* r = ures_getStringByIndex(fResource, indexS, &len, &status);
     const UChar* r = ures_getStringByIndex(fResource, indexS, &len, &status);
-    return UnicodeString(TRUE, r, len);
+    return UnicodeString(true, r, len);
 }
 }
 
 
 ResourceBundle ResourceBundle::get(const char* key, UErrorCode& status) const {
 ResourceBundle ResourceBundle::get(const char* key, UErrorCode& status) const {
@@ -364,7 +364,7 @@ ResourceBundle ResourceBundle::getWithFallback(const char* key, UErrorCode& stat
 UnicodeString ResourceBundle::getStringEx(const char* key, UErrorCode& status) const {
 UnicodeString ResourceBundle::getStringEx(const char* key, UErrorCode& status) const {
     int32_t len = 0;
     int32_t len = 0;
     const UChar* r = ures_getStringByKey(fResource, key, &len, &status);
     const UChar* r = ures_getStringByKey(fResource, key, &len, &status);
-    return UnicodeString(TRUE, r, len);
+    return UnicodeString(true, r, len);
 }
 }
 
 
 const char*
 const char*

+ 2 - 2
thirdparty/icu4c/common/resource.h

@@ -286,8 +286,8 @@ public:
                      UErrorCode &errorCode) = 0;
                      UErrorCode &errorCode) = 0;
 
 
 private:
 private:
-    ResourceSink(const ResourceSink &);  // no copy constructor
-    ResourceSink &operator=(const ResourceSink &);  // no assignment operator
+    ResourceSink(const ResourceSink &) = delete;  // no copy constructor
+    ResourceSink &operator=(const ResourceSink &) = delete;  // no assignment operator
 };
 };
 
 
 U_NAMESPACE_END
 U_NAMESPACE_END

+ 2 - 2
thirdparty/icu4c/common/ruleiter.cpp

@@ -39,7 +39,7 @@ UChar32 RuleCharacterIterator::next(int32_t options, UBool& isEscaped, UErrorCod
     if (U_FAILURE(ec)) return DONE;
     if (U_FAILURE(ec)) return DONE;
 
 
     UChar32 c = DONE;
     UChar32 c = DONE;
-    isEscaped = FALSE;
+    isEscaped = false;
 
 
     for (;;) {
     for (;;) {
         c = _current();
         c = _current();
@@ -75,7 +75,7 @@ UChar32 RuleCharacterIterator::next(int32_t options, UBool& isEscaped, UErrorCod
             int32_t offset = 0;
             int32_t offset = 0;
             c = lookahead(tempEscape, MAX_U_NOTATION_LEN).unescapeAt(offset);
             c = lookahead(tempEscape, MAX_U_NOTATION_LEN).unescapeAt(offset);
             jumpahead(offset);
             jumpahead(offset);
-            isEscaped = TRUE;
+            isEscaped = true;
             if (c < 0) {
             if (c < 0) {
                 ec = U_MALFORMED_UNICODE_ESCAPE;
                 ec = U_MALFORMED_UNICODE_ESCAPE;
                 return DONE;
                 return DONE;

+ 4 - 4
thirdparty/icu4c/common/ruleiter.h

@@ -66,28 +66,28 @@ public:
     /**
     /**
      * Value returned when there are no more characters to iterate.
      * Value returned when there are no more characters to iterate.
      */
      */
-    enum { DONE = -1 };
+    static constexpr int32_t DONE = -1;
 
 
     /**
     /**
      * Bitmask option to enable parsing of variable names.  If (options &
      * Bitmask option to enable parsing of variable names.  If (options &
      * PARSE_VARIABLES) != 0, then an embedded variable will be expanded to
      * PARSE_VARIABLES) != 0, then an embedded variable will be expanded to
      * its value.  Variables are parsed using the SymbolTable API.
      * its value.  Variables are parsed using the SymbolTable API.
      */
      */
-    enum { PARSE_VARIABLES = 1 };
+    static constexpr int32_t PARSE_VARIABLES = 1;
 
 
     /**
     /**
      * Bitmask option to enable parsing of escape sequences.  If (options &
      * Bitmask option to enable parsing of escape sequences.  If (options &
      * PARSE_ESCAPES) != 0, then an embedded escape sequence will be expanded
      * PARSE_ESCAPES) != 0, then an embedded escape sequence will be expanded
      * to its value.  Escapes are parsed using Utility.unescapeAt().
      * to its value.  Escapes are parsed using Utility.unescapeAt().
      */
      */
-    enum { PARSE_ESCAPES   = 2 };
+    static constexpr int32_t PARSE_ESCAPES   = 2;
 
 
     /**
     /**
      * Bitmask option to enable skipping of whitespace.  If (options &
      * Bitmask option to enable skipping of whitespace.  If (options &
      * SKIP_WHITESPACE) != 0, then Pattern_White_Space characters will be silently
      * SKIP_WHITESPACE) != 0, then Pattern_White_Space characters will be silently
      * skipped, as if they were not present in the input.
      * skipped, as if they were not present in the input.
      */
      */
-    enum { SKIP_WHITESPACE = 4 };
+    static constexpr int32_t SKIP_WHITESPACE = 4;
 
 
     /**
     /**
      * Constructs an iterator over the given text, starting at the given
      * Constructs an iterator over the given text, starting at the given

+ 9 - 9
thirdparty/icu4c/common/serv.cpp

@@ -64,7 +64,7 @@ ICUServiceKey::currentDescriptor(UnicodeString& result) const
 UBool 
 UBool 
 ICUServiceKey::fallback() 
 ICUServiceKey::fallback() 
 {
 {
-    return FALSE;
+    return false;
 }
 }
 
 
 UBool 
 UBool 
@@ -249,7 +249,7 @@ public:
     }
     }
 
 
     /**
     /**
-    * Return TRUE if there is at least one reference to this and the
+    * Return true if there is at least one reference to this and the
     * resource has not been released.
     * resource has not been released.
     */
     */
     UBool isShared() const {
     UBool isShared() const {
@@ -454,11 +454,11 @@ ICUService::getKey(ICUServiceKey& key, UnicodeString* actualReturn, const ICUSer
 
 
         UnicodeString currentDescriptor;
         UnicodeString currentDescriptor;
         LocalPointer<UVector> cacheDescriptorList;
         LocalPointer<UVector> cacheDescriptorList;
-        UBool putInCache = FALSE;
+        UBool putInCache = false;
 
 
         int32_t startIndex = 0;
         int32_t startIndex = 0;
         int32_t limit = factories->size();
         int32_t limit = factories->size();
-        UBool cacheResult = TRUE;
+        UBool cacheResult = true;
 
 
         if (factory != NULL) {
         if (factory != NULL) {
             for (int32_t i = 0; i < limit; ++i) {
             for (int32_t i = 0; i < limit; ++i) {
@@ -472,7 +472,7 @@ ICUService::getKey(ICUServiceKey& key, UnicodeString* actualReturn, const ICUSer
                 status = U_ILLEGAL_ARGUMENT_ERROR;
                 status = U_ILLEGAL_ARGUMENT_ERROR;
                 return NULL;
                 return NULL;
             }
             }
-            cacheResult = FALSE;
+            cacheResult = false;
         }
         }
 
 
         do {
         do {
@@ -486,7 +486,7 @@ ICUService::getKey(ICUServiceKey& key, UnicodeString* actualReturn, const ICUSer
             // first test of cache failed, so we'll have to update
             // first test of cache failed, so we'll have to update
             // the cache if we eventually succeed-- that is, if we're 
             // the cache if we eventually succeed-- that is, if we're 
             // going to update the cache at all.
             // going to update the cache at all.
-            putInCache = TRUE;
+            putInCache = true;
 
 
             int32_t index = startIndex;
             int32_t index = startIndex;
             while (index < limit) {
             while (index < limit) {
@@ -796,7 +796,7 @@ ICUService::getDisplayNames(UVector& result,
 URegistryKey
 URegistryKey
 ICUService::registerInstance(UObject* objToAdopt, const UnicodeString& id, UErrorCode& status) 
 ICUService::registerInstance(UObject* objToAdopt, const UnicodeString& id, UErrorCode& status) 
 {
 {
-    return registerInstance(objToAdopt, id, TRUE, status);
+    return registerInstance(objToAdopt, id, true, status);
 }
 }
 
 
 URegistryKey
 URegistryKey
@@ -864,13 +864,13 @@ UBool
 ICUService::unregister(URegistryKey rkey, UErrorCode& status) 
 ICUService::unregister(URegistryKey rkey, UErrorCode& status) 
 {
 {
     ICUServiceFactory *factory = (ICUServiceFactory*)rkey;
     ICUServiceFactory *factory = (ICUServiceFactory*)rkey;
-    UBool result = FALSE;
+    UBool result = false;
     if (factory != NULL && factories != NULL) {
     if (factory != NULL && factories != NULL) {
         Mutex mutex(&lock);
         Mutex mutex(&lock);
 
 
         if (factories->removeElement(factory)) {
         if (factories->removeElement(factory)) {
             clearCaches();
             clearCaches();
-            result = TRUE;
+            result = true;
         } else {
         } else {
             status = U_ILLEGAL_ARGUMENT_ERROR;
             status = U_ILLEGAL_ARGUMENT_ERROR;
             delete factory;
             delete factory;

+ 4 - 4
thirdparty/icu4c/common/servlk.cpp

@@ -126,24 +126,24 @@ LocaleKey::fallback() {
         int x = _currentID.lastIndexOf(UNDERSCORE_CHAR);
         int x = _currentID.lastIndexOf(UNDERSCORE_CHAR);
         if (x != -1) {
         if (x != -1) {
             _currentID.remove(x); // truncate current or fallback, whichever we're pointing to
             _currentID.remove(x); // truncate current or fallback, whichever we're pointing to
-            return TRUE;
+            return true;
         }
         }
 
 
         if (!_fallbackID.isBogus()) {
         if (!_fallbackID.isBogus()) {
             _currentID = _fallbackID;
             _currentID = _fallbackID;
             _fallbackID.setToBogus();
             _fallbackID.setToBogus();
-            return TRUE;
+            return true;
         }
         }
 
 
         if (_currentID.length() > 0) {
         if (_currentID.length() > 0) {
             _currentID.remove(0); // completely truncate
             _currentID.remove(0); // completely truncate
-            return TRUE;
+            return true;
         }
         }
 
 
         _currentID.setToBogus();
         _currentID.setToBogus();
     }
     }
 
 
-    return FALSE;
+    return false;
 }
 }
 
 
 UBool
 UBool

+ 1 - 1
thirdparty/icu4c/common/servlkf.cpp

@@ -65,7 +65,7 @@ LocaleKeyFactory::handlesKey(const ICUServiceKey& key, UErrorCode& status) const
         key.currentID(id);
         key.currentID(id);
         return supported->get(id) != NULL;
         return supported->get(id) != NULL;
     }
     }
-    return FALSE;
+    return false;
 }
 }
 
 
 void
 void

+ 2 - 2
thirdparty/icu4c/common/servls.cpp

@@ -215,11 +215,11 @@ public:
     UBool upToDate(UErrorCode& status) const {
     UBool upToDate(UErrorCode& status) const {
         if (U_SUCCESS(status)) {
         if (U_SUCCESS(status)) {
             if (_timestamp == _service->getTimestamp()) {
             if (_timestamp == _service->getTimestamp()) {
-                return TRUE;
+                return true;
             }
             }
             status = U_ENUM_OUT_OF_SYNC_ERROR;
             status = U_ENUM_OUT_OF_SYNC_ERROR;
         }
         }
-        return FALSE;
+        return false;
     }
     }
 
 
     virtual int32_t count(UErrorCode& status) const override {
     virtual int32_t count(UErrorCode& status) const override {

+ 2 - 2
thirdparty/icu4c/common/sharedobject.h

@@ -38,8 +38,8 @@ public:
 
 
     virtual ~UnifiedCacheBase();
     virtual ~UnifiedCacheBase();
 private:
 private:
-    UnifiedCacheBase(const UnifiedCacheBase &);
-    UnifiedCacheBase &operator=(const UnifiedCacheBase &);
+    UnifiedCacheBase(const UnifiedCacheBase &) = delete;
+    UnifiedCacheBase &operator=(const UnifiedCacheBase &) = delete;
 };
 };
 
 
 /**
 /**

+ 9 - 9
thirdparty/icu4c/common/simpleformatter.cpp

@@ -65,7 +65,7 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
         int32_t min, int32_t max,
         int32_t min, int32_t max,
         UErrorCode &errorCode) {
         UErrorCode &errorCode) {
     if (U_FAILURE(errorCode)) {
     if (U_FAILURE(errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     // Parse consistent with MessagePattern, but
     // Parse consistent with MessagePattern, but
     // - support only simple numbered arguments
     // - support only simple numbered arguments
@@ -76,7 +76,7 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
     compiledPattern.setTo((UChar)0);
     compiledPattern.setTo((UChar)0);
     int32_t textLength = 0;
     int32_t textLength = 0;
     int32_t maxArg = -1;
     int32_t maxArg = -1;
-    UBool inQuote = FALSE;
+    UBool inQuote = false;
     for (int32_t i = 0; i < patternLength;) {
     for (int32_t i = 0; i < patternLength;) {
         UChar c = patternBuffer[i++];
         UChar c = patternBuffer[i++];
         if (c == APOS) {
         if (c == APOS) {
@@ -85,12 +85,12 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
                 ++i;
                 ++i;
             } else if (inQuote) {
             } else if (inQuote) {
                 // skip the quote-ending apostrophe
                 // skip the quote-ending apostrophe
-                inQuote = FALSE;
+                inQuote = false;
                 continue;
                 continue;
             } else if (c == OPEN_BRACE || c == CLOSE_BRACE) {
             } else if (c == OPEN_BRACE || c == CLOSE_BRACE) {
                 // Skip the quote-starting apostrophe, find the end of the quoted literal text.
                 // Skip the quote-starting apostrophe, find the end of the quoted literal text.
                 ++i;
                 ++i;
-                inQuote = TRUE;
+                inQuote = true;
             } else {
             } else {
                 // The apostrophe is part of literal text.
                 // The apostrophe is part of literal text.
                 c = APOS;
                 c = APOS;
@@ -123,7 +123,7 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
                 }
                 }
                 if (argNumber < 0 || c != CLOSE_BRACE) {
                 if (argNumber < 0 || c != CLOSE_BRACE) {
                     errorCode = U_ILLEGAL_ARGUMENT_ERROR;
                     errorCode = U_ILLEGAL_ARGUMENT_ERROR;
-                    return FALSE;
+                    return false;
                 }
                 }
             }
             }
             if (argNumber > maxArg) {
             if (argNumber > maxArg) {
@@ -149,10 +149,10 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
     int32_t argCount = maxArg + 1;
     int32_t argCount = maxArg + 1;
     if (argCount < min || max < argCount) {
     if (argCount < min || max < argCount) {
         errorCode = U_ILLEGAL_ARGUMENT_ERROR;
         errorCode = U_ILLEGAL_ARGUMENT_ERROR;
-        return FALSE;
+        return false;
     }
     }
     compiledPattern.setCharAt(0, (UChar)argCount);
     compiledPattern.setCharAt(0, (UChar)argCount);
-    return TRUE;
+    return true;
 }
 }
 
 
 UnicodeString& SimpleFormatter::format(
 UnicodeString& SimpleFormatter::format(
@@ -192,7 +192,7 @@ UnicodeString& SimpleFormatter::formatAndAppend(
         return appendTo;
         return appendTo;
     }
     }
     return format(compiledPattern.getBuffer(), compiledPattern.length(), values,
     return format(compiledPattern.getBuffer(), compiledPattern.length(), values,
-                  appendTo, NULL, TRUE,
+                  appendTo, NULL, true,
                   offsets, offsetsLength, errorCode);
                   offsets, offsetsLength, errorCode);
 }
 }
 
 
@@ -241,7 +241,7 @@ UnicodeString &SimpleFormatter::formatAndReplace(
         result.remove();
         result.remove();
     }
     }
     return format(cp, cpLength, values,
     return format(cp, cpLength, values,
-                  result, &resultCopy, FALSE,
+                  result, &resultCopy, false,
                   offsets, offsetsLength, errorCode);
                   offsets, offsetsLength, errorCode);
 }
 }
 
 

+ 6 - 6
thirdparty/icu4c/common/static_unicode_sets.cpp

@@ -31,7 +31,7 @@ alignas(UnicodeSet)
 char gEmptyUnicodeSet[sizeof(UnicodeSet)];
 char gEmptyUnicodeSet[sizeof(UnicodeSet)];
 
 
 // Whether the gEmptyUnicodeSet is initialized and ready to use.
 // Whether the gEmptyUnicodeSet is initialized and ready to use.
-UBool gEmptyUnicodeSetInitialized = FALSE;
+UBool gEmptyUnicodeSetInitialized = false;
 
 
 inline UnicodeSet* getImpl(Key key) {
 inline UnicodeSet* getImpl(Key key) {
     UnicodeSet* candidate = gUnicodeSets[key];
     UnicodeSet* candidate = gUnicodeSets[key];
@@ -118,7 +118,7 @@ class ParseDataSink : public ResourceSink {
                         } else {
                         } else {
                             // Unknown class of parse lenients
                             // Unknown class of parse lenients
                             // TODO(ICU-20428): Make ICU automatically accept new classes?
                             // TODO(ICU-20428): Make ICU automatically accept new classes?
-                            U_ASSERT(FALSE);
+                            U_ASSERT(false);
                         }
                         }
                         if (U_FAILURE(status)) { return; }
                         if (U_FAILURE(status)) { return; }
                     }
                     }
@@ -129,19 +129,19 @@ class ParseDataSink : public ResourceSink {
 };
 };
 
 
 
 
-icu::UInitOnce gNumberParseUniSetsInitOnce = U_INITONCE_INITIALIZER;
+icu::UInitOnce gNumberParseUniSetsInitOnce {};
 
 
 UBool U_CALLCONV cleanupNumberParseUniSets() {
 UBool U_CALLCONV cleanupNumberParseUniSets() {
     if (gEmptyUnicodeSetInitialized) {
     if (gEmptyUnicodeSetInitialized) {
         reinterpret_cast<UnicodeSet*>(gEmptyUnicodeSet)->~UnicodeSet();
         reinterpret_cast<UnicodeSet*>(gEmptyUnicodeSet)->~UnicodeSet();
-        gEmptyUnicodeSetInitialized = FALSE;
+        gEmptyUnicodeSetInitialized = false;
     }
     }
     for (int32_t i = 0; i < UNISETS_KEY_COUNT; i++) {
     for (int32_t i = 0; i < UNISETS_KEY_COUNT; i++) {
         delete gUnicodeSets[i];
         delete gUnicodeSets[i];
         gUnicodeSets[i] = nullptr;
         gUnicodeSets[i] = nullptr;
     }
     }
     gNumberParseUniSetsInitOnce.reset();
     gNumberParseUniSetsInitOnce.reset();
-    return TRUE;
+    return true;
 }
 }
 
 
 void U_CALLCONV initNumberParseUniSets(UErrorCode& status) {
 void U_CALLCONV initNumberParseUniSets(UErrorCode& status) {
@@ -150,7 +150,7 @@ void U_CALLCONV initNumberParseUniSets(UErrorCode& status) {
     // Initialize the empty instance for well-defined fallback behavior
     // Initialize the empty instance for well-defined fallback behavior
     new(gEmptyUnicodeSet) UnicodeSet();
     new(gEmptyUnicodeSet) UnicodeSet();
     reinterpret_cast<UnicodeSet*>(gEmptyUnicodeSet)->freeze();
     reinterpret_cast<UnicodeSet*>(gEmptyUnicodeSet)->freeze();
-    gEmptyUnicodeSetInitialized = TRUE;
+    gEmptyUnicodeSetInitialized = true;
 
 
     // These sets were decided after discussion with icu-design@. See tickets #13084 and #13309.
     // These sets were decided after discussion with icu-design@. See tickets #13084 and #13309.
     // Zs+TAB is "horizontal whitespace" according to UTS #18 (blank property).
     // Zs+TAB is "horizontal whitespace" according to UTS #18 (blank property).

+ 10 - 10
thirdparty/icu4c/common/stringtriebuilder.cpp

@@ -85,16 +85,16 @@ StringTrieBuilder::build(UStringTrieBuildOption buildOption, int32_t elementsLen
 // have a common prefix of length unitIndex.
 // have a common prefix of length unitIndex.
 int32_t
 int32_t
 StringTrieBuilder::writeNode(int32_t start, int32_t limit, int32_t unitIndex) {
 StringTrieBuilder::writeNode(int32_t start, int32_t limit, int32_t unitIndex) {
-    UBool hasValue=FALSE;
+    UBool hasValue=false;
     int32_t value=0;
     int32_t value=0;
     int32_t type;
     int32_t type;
     if(unitIndex==getElementStringLength(start)) {
     if(unitIndex==getElementStringLength(start)) {
         // An intermediate or final value.
         // An intermediate or final value.
         value=getElementValue(start++);
         value=getElementValue(start++);
         if(start==limit) {
         if(start==limit) {
-            return writeValueAndFinal(value, TRUE);  // final-value node
+            return writeValueAndFinal(value, true);  // final-value node
         }
         }
-        hasValue=TRUE;
+        hasValue=true;
     }
     }
     // Now all [start..limit[ strings are longer than unitIndex.
     // Now all [start..limit[ strings are longer than unitIndex.
     int32_t minUnit=getElementUnit(start, unitIndex);
     int32_t minUnit=getElementUnit(start, unitIndex);
@@ -209,7 +209,7 @@ StringTrieBuilder::makeNode(int32_t start, int32_t limit, int32_t unitIndex, UEr
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
         return NULL;
         return NULL;
     }
     }
-    UBool hasValue=FALSE;
+    UBool hasValue=false;
     int32_t value=0;
     int32_t value=0;
     if(unitIndex==getElementStringLength(start)) {
     if(unitIndex==getElementStringLength(start)) {
         // An intermediate or final value.
         // An intermediate or final value.
@@ -217,7 +217,7 @@ StringTrieBuilder::makeNode(int32_t start, int32_t limit, int32_t unitIndex, UEr
         if(start==limit) {
         if(start==limit) {
             return registerFinalValue(value, errorCode);
             return registerFinalValue(value, errorCode);
         }
         }
-        hasValue=TRUE;
+        hasValue=true;
     }
     }
     Node *node;
     Node *node;
     // Now all [start..limit[ strings are longer than unitIndex.
     // Now all [start..limit[ strings are longer than unitIndex.
@@ -410,7 +410,7 @@ StringTrieBuilder::FinalValueNode::operator==(const Node &other) const {
 
 
 void
 void
 StringTrieBuilder::FinalValueNode::write(StringTrieBuilder &builder) {
 StringTrieBuilder::FinalValueNode::write(StringTrieBuilder &builder) {
-    offset=builder.writeValueAndFinal(value, TRUE);
+    offset=builder.writeValueAndFinal(value, true);
 }
 }
 
 
 bool
 bool
@@ -448,7 +448,7 @@ StringTrieBuilder::IntermediateValueNode::markRightEdgesFirst(int32_t edgeNumber
 void
 void
 StringTrieBuilder::IntermediateValueNode::write(StringTrieBuilder &builder) {
 StringTrieBuilder::IntermediateValueNode::write(StringTrieBuilder &builder) {
     next->write(builder);
     next->write(builder);
-    offset=builder.writeValueAndFinal(value, FALSE);
+    offset=builder.writeValueAndFinal(value, false);
 }
 }
 
 
 bool
 bool
@@ -526,7 +526,7 @@ StringTrieBuilder::ListBranchNode::write(StringTrieBuilder &builder) {
     // not jump for it at all.
     // not jump for it at all.
     unitNumber=length-1;
     unitNumber=length-1;
     if(rightEdge==NULL) {
     if(rightEdge==NULL) {
-        builder.writeValueAndFinal(values[unitNumber], TRUE);
+        builder.writeValueAndFinal(values[unitNumber], true);
     } else {
     } else {
         rightEdge->write(builder);
         rightEdge->write(builder);
     }
     }
@@ -538,12 +538,12 @@ StringTrieBuilder::ListBranchNode::write(StringTrieBuilder &builder) {
         if(equal[unitNumber]==NULL) {
         if(equal[unitNumber]==NULL) {
             // Write the final value for the one string ending with this unit.
             // Write the final value for the one string ending with this unit.
             value=values[unitNumber];
             value=values[unitNumber];
-            isFinal=TRUE;
+            isFinal=true;
         } else {
         } else {
             // Write the delta to the start position of the sub-node.
             // Write the delta to the start position of the sub-node.
             U_ASSERT(equal[unitNumber]->getOffset()>0);
             U_ASSERT(equal[unitNumber]->getOffset()>0);
             value=offset-equal[unitNumber]->getOffset();
             value=offset-equal[unitNumber]->getOffset();
-            isFinal=FALSE;
+            isFinal=false;
         }
         }
         builder.writeValueAndFinal(value, isFinal);
         builder.writeValueAndFinal(value, isFinal);
         offset=builder.write(units[unitNumber]);
         offset=builder.write(units[unitNumber]);

+ 4 - 4
thirdparty/icu4c/common/uarrsort.cpp

@@ -75,7 +75,7 @@ U_CAPI int32_t U_EXPORT2
 uprv_stableBinarySearch(char *array, int32_t limit, void *item, int32_t itemSize,
 uprv_stableBinarySearch(char *array, int32_t limit, void *item, int32_t itemSize,
                         UComparator *cmp, const void *context) {
                         UComparator *cmp, const void *context) {
     int32_t start=0;
     int32_t start=0;
-    UBool found=FALSE;
+    UBool found=false;
 
 
     /* Binary search until we get down to a tiny sub-array. */
     /* Binary search until we get down to a tiny sub-array. */
     while((limit-start)>=MIN_QSORT) {
     while((limit-start)>=MIN_QSORT) {
@@ -90,10 +90,10 @@ uprv_stableBinarySearch(char *array, int32_t limit, void *item, int32_t itemSize
              * However, if there are many equal items, then it should be
              * However, if there are many equal items, then it should be
              * faster to continue with the binary search.
              * faster to continue with the binary search.
              * It seems likely that we either have all unique items
              * It seems likely that we either have all unique items
-             * (where found will never become TRUE in the insertion sort)
+             * (where found will never become true in the insertion sort)
              * or potentially many duplicates.
              * or potentially many duplicates.
              */
              */
-            found=TRUE;
+            found=true;
             start=i+1;
             start=i+1;
         } else if(diff<0) {
         } else if(diff<0) {
             limit=i;
             limit=i;
@@ -106,7 +106,7 @@ uprv_stableBinarySearch(char *array, int32_t limit, void *item, int32_t itemSize
     while(start<limit) {
     while(start<limit) {
         int32_t diff=cmp(context, item, array+start*itemSize);
         int32_t diff=cmp(context, item, array+start*itemSize);
         if(diff==0) {
         if(diff==0) {
-            found=TRUE;
+            found=true;
         } else if(diff<0) {
         } else if(diff<0) {
             break;
             break;
         }
         }

+ 32 - 32
thirdparty/icu4c/common/ubidi.cpp

@@ -149,7 +149,7 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
         return NULL;
         return NULL;
     }
     }
 
 
-    /* reset the object, all pointers NULL, all flags FALSE, all sizes 0 */
+    /* reset the object, all pointers NULL, all flags false, all sizes 0 */
     uprv_memset(pBiDi, 0, sizeof(UBiDi));
     uprv_memset(pBiDi, 0, sizeof(UBiDi));
 
 
     /* allocate memory for arrays as requested */
     /* allocate memory for arrays as requested */
@@ -160,7 +160,7 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
             *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
             *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
         }
         }
     } else {
     } else {
-        pBiDi->mayAllocateText=TRUE;
+        pBiDi->mayAllocateText=true;
     }
     }
 
 
     if(maxRunCount>0) {
     if(maxRunCount>0) {
@@ -171,7 +171,7 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
             *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
             *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
         }
         }
     } else {
     } else {
-        pBiDi->mayAllocateRuns=TRUE;
+        pBiDi->mayAllocateRuns=true;
     }
     }
 
 
     if(U_SUCCESS(*pErrorCode)) {
     if(U_SUCCESS(*pErrorCode)) {
@@ -184,7 +184,7 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
 
 
 /*
 /*
  * We are allowed to allocate memory if memory==NULL or
  * We are allowed to allocate memory if memory==NULL or
- * mayAllocate==TRUE for each array that we need.
+ * mayAllocate==true for each array that we need.
  * We also try to grow memory as needed if we
  * We also try to grow memory as needed if we
  * allocate it.
  * allocate it.
  *
  *
@@ -203,18 +203,18 @@ ubidi_getMemory(BidiMemoryForAllocation *bidiMem, int32_t *pSize, UBool mayAlloc
         /* we need to allocate memory */
         /* we need to allocate memory */
         if(mayAllocate && (*pMemory=uprv_malloc(sizeNeeded))!=NULL) {
         if(mayAllocate && (*pMemory=uprv_malloc(sizeNeeded))!=NULL) {
             *pSize=sizeNeeded;
             *pSize=sizeNeeded;
-            return TRUE;
+            return true;
         } else {
         } else {
-            return FALSE;
+            return false;
         }
         }
     } else {
     } else {
         if(sizeNeeded<=*pSize) {
         if(sizeNeeded<=*pSize) {
             /* there is already enough memory */
             /* there is already enough memory */
-            return TRUE;
+            return true;
         }
         }
         else if(!mayAllocate) {
         else if(!mayAllocate) {
             /* not enough memory, and we must not allocate */
             /* not enough memory, and we must not allocate */
-            return FALSE;
+            return false;
         } else {
         } else {
             /* we try to grow */
             /* we try to grow */
             void *memory;
             void *memory;
@@ -225,10 +225,10 @@ ubidi_getMemory(BidiMemoryForAllocation *bidiMem, int32_t *pSize, UBool mayAlloc
             if((memory=uprv_realloc(*pMemory, sizeNeeded))!=NULL) {
             if((memory=uprv_realloc(*pMemory, sizeNeeded))!=NULL) {
                 *pMemory=memory;
                 *pMemory=memory;
                 *pSize=sizeNeeded;
                 *pSize=sizeNeeded;
-                return TRUE;
+                return true;
             } else {
             } else {
                 /* we failed to grow */
                 /* we failed to grow */
-                return FALSE;
+                return false;
             }
             }
         }
         }
     }
     }
@@ -280,7 +280,7 @@ ubidi_isInverse(UBiDi *pBiDi) {
     if(pBiDi!=NULL) {
     if(pBiDi!=NULL) {
         return pBiDi->isInverse;
         return pBiDi->isInverse;
     } else {
     } else {
-        return FALSE;
+        return false;
     }
     }
 }
 }
 
 
@@ -403,17 +403,17 @@ checkParaCount(UBiDi *pBiDi) {
     int32_t count=pBiDi->paraCount;
     int32_t count=pBiDi->paraCount;
     if(pBiDi->paras==pBiDi->simpleParas) {
     if(pBiDi->paras==pBiDi->simpleParas) {
         if(count<=SIMPLE_PARAS_COUNT)
         if(count<=SIMPLE_PARAS_COUNT)
-            return TRUE;
+            return true;
         if(!getInitialParasMemory(pBiDi, SIMPLE_PARAS_COUNT * 2))
         if(!getInitialParasMemory(pBiDi, SIMPLE_PARAS_COUNT * 2))
-            return FALSE;
+            return false;
         pBiDi->paras=pBiDi->parasMemory;
         pBiDi->paras=pBiDi->parasMemory;
         uprv_memcpy(pBiDi->parasMemory, pBiDi->simpleParas, SIMPLE_PARAS_COUNT * sizeof(Para));
         uprv_memcpy(pBiDi->parasMemory, pBiDi->simpleParas, SIMPLE_PARAS_COUNT * sizeof(Para));
-        return TRUE;
+        return true;
     }
     }
     if(!getInitialParasMemory(pBiDi, count * 2))
     if(!getInitialParasMemory(pBiDi, count * 2))
-        return FALSE;
+        return false;
     pBiDi->paras=pBiDi->parasMemory;
     pBiDi->paras=pBiDi->parasMemory;
-    return TRUE;
+    return true;
 }
 }
 
 
 /*
 /*
@@ -579,8 +579,8 @@ getDirProps(UBiDi *pBiDi) {
             }
             }
             if(i<originalLength) {              /* B not last char in text */
             if(i<originalLength) {              /* B not last char in text */
                 pBiDi->paraCount++;
                 pBiDi->paraCount++;
-                if(checkParaCount(pBiDi)==FALSE)    /* not enough memory for a new para entry */
-                    return FALSE;
+                if(checkParaCount(pBiDi)==false)    /* not enough memory for a new para entry */
+                    return false;
                 if(isDefaultLevel) {
                 if(isDefaultLevel) {
                     pBiDi->paras[pBiDi->paraCount-1].level=defaultParaLevel;
                     pBiDi->paras[pBiDi->paraCount-1].level=defaultParaLevel;
                     state=SEEKING_STRONG_FOR_PARA;
                     state=SEEKING_STRONG_FOR_PARA;
@@ -636,7 +636,7 @@ getDirProps(UBiDi *pBiDi) {
     }
     }
     pBiDi->flags=flags;
     pBiDi->flags=flags;
     pBiDi->lastArabicPos=lastArabicPos;
     pBiDi->lastArabicPos=lastArabicPos;
-    return TRUE;
+    return true;
 }
 }
 
 
 /* determine the paragraph level at position index */
 /* determine the paragraph level at position index */
@@ -743,14 +743,14 @@ bracketProcessPDI(BracketData *bd) {
 }
 }
 
 
 /* newly found opening bracket: create an openings entry */
 /* newly found opening bracket: create an openings entry */
-static UBool                            /* return TRUE if success */
+static UBool                            /* return true if success */
 bracketAddOpening(BracketData *bd, UChar match, int32_t position) {
 bracketAddOpening(BracketData *bd, UChar match, int32_t position) {
     IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast];
     IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast];
     Opening *pOpening;
     Opening *pOpening;
     if(pLastIsoRun->limit>=bd->openingsCount) {  /* no available new entry */
     if(pLastIsoRun->limit>=bd->openingsCount) {  /* no available new entry */
         UBiDi *pBiDi=bd->pBiDi;
         UBiDi *pBiDi=bd->pBiDi;
         if(!getInitialOpeningsMemory(pBiDi, pLastIsoRun->limit * 2))
         if(!getInitialOpeningsMemory(pBiDi, pLastIsoRun->limit * 2))
-            return FALSE;
+            return false;
         if(bd->openings==bd->simpleOpenings)
         if(bd->openings==bd->simpleOpenings)
             uprv_memcpy(pBiDi->openingsMemory, bd->simpleOpenings,
             uprv_memcpy(pBiDi->openingsMemory, bd->simpleOpenings,
                         SIMPLE_OPENINGS_COUNT * sizeof(Opening));
                         SIMPLE_OPENINGS_COUNT * sizeof(Opening));
@@ -764,7 +764,7 @@ bracketAddOpening(BracketData *bd, UChar match, int32_t position) {
     pOpening->contextPos=pLastIsoRun->contextPos;
     pOpening->contextPos=pLastIsoRun->contextPos;
     pOpening->flags=0;
     pOpening->flags=0;
     pLastIsoRun->limit++;
     pLastIsoRun->limit++;
-    return TRUE;
+    return true;
 }
 }
 
 
 /* change N0c1 to N0c2 when a preceding bracket is assigned the embedding level */
 /* change N0c1 to N0c2 when a preceding bracket is assigned the embedding level */
@@ -804,7 +804,7 @@ bracketProcessClosing(BracketData *bd, int32_t openIdx, int32_t position) {
     DirProp newProp;
     DirProp newProp;
     pOpening=&bd->openings[openIdx];
     pOpening=&bd->openings[openIdx];
     direction=(UBiDiDirection)(pLastIsoRun->level&1);
     direction=(UBiDiDirection)(pLastIsoRun->level&1);
-    stable=TRUE;            /* assume stable until proved otherwise */
+    stable=true;            /* assume stable until proved otherwise */
 
 
     /* The stable flag is set when brackets are paired and their
     /* The stable flag is set when brackets are paired and their
        level is resolved and cannot be changed by what will be
        level is resolved and cannot be changed by what will be
@@ -873,7 +873,7 @@ bracketProcessClosing(BracketData *bd, int32_t openIdx, int32_t position) {
 }
 }
 
 
 /* handle strong characters, digits and candidates for closing brackets */
 /* handle strong characters, digits and candidates for closing brackets */
-static UBool                            /* return TRUE if success */
+static UBool                            /* return true if success */
 bracketProcessChar(BracketData *bd, int32_t position) {
 bracketProcessChar(BracketData *bd, int32_t position) {
     IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast];
     IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast];
     DirProp *dirProps, dirProp, newProp;
     DirProp *dirProps, dirProp, newProp;
@@ -912,7 +912,7 @@ bracketProcessChar(BracketData *bd, int32_t position) {
             }
             }
             /* matching brackets are not overridden by LRO/RLO */
             /* matching brackets are not overridden by LRO/RLO */
             bd->pBiDi->levels[bd->openings[idx].position]&=~UBIDI_LEVEL_OVERRIDE;
             bd->pBiDi->levels[bd->openings[idx].position]&=~UBIDI_LEVEL_OVERRIDE;
-            return TRUE;
+            return true;
         }
         }
         /* We get here only if the ON character is not a matching closing
         /* We get here only if the ON character is not a matching closing
            bracket or it is a case of N0d */
            bracket or it is a case of N0d */
@@ -927,14 +927,14 @@ bracketProcessChar(BracketData *bd, int32_t position) {
                create an opening entry for each synonym */
                create an opening entry for each synonym */
             if(match==0x232A) {     /* RIGHT-POINTING ANGLE BRACKET */
             if(match==0x232A) {     /* RIGHT-POINTING ANGLE BRACKET */
                 if(!bracketAddOpening(bd, 0x3009, position))
                 if(!bracketAddOpening(bd, 0x3009, position))
-                    return FALSE;
+                    return false;
             }
             }
             else if(match==0x3009) {         /* RIGHT ANGLE BRACKET */
             else if(match==0x3009) {         /* RIGHT ANGLE BRACKET */
                 if(!bracketAddOpening(bd, 0x232A, position))
                 if(!bracketAddOpening(bd, 0x232A, position))
-                    return FALSE;
+                    return false;
             }
             }
             if(!bracketAddOpening(bd, match, position))
             if(!bracketAddOpening(bd, match, position))
-                return FALSE;
+                return false;
         }
         }
     }
     }
     level=bd->pBiDi->levels[position];
     level=bd->pBiDi->levels[position];
@@ -998,7 +998,7 @@ bracketProcessChar(BracketData *bd, int32_t position) {
             if(position>bd->openings[i].position)
             if(position>bd->openings[i].position)
                 bd->openings[i].flags|=flag;
                 bd->openings[i].flags|=flag;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 /* perform (X1)..(X9) ------------------------------------------------------- */
 /* perform (X1)..(X9) ------------------------------------------------------- */
@@ -2432,11 +2432,11 @@ setParaRunsOnly(UBiDi *pBiDi, const UChar *text, int32_t length,
      * than the original text. But we don't want the levels memory to be
      * than the original text. But we don't want the levels memory to be
      * reallocated shorter than the original length, since we need to restore
      * reallocated shorter than the original length, since we need to restore
      * the levels as after the first call to ubidi_setpara() before returning.
      * the levels as after the first call to ubidi_setpara() before returning.
-     * We will force mayAllocateText to FALSE before the second call to
+     * We will force mayAllocateText to false before the second call to
      * ubidi_setpara(), and will restore it afterwards.
      * ubidi_setpara(), and will restore it afterwards.
      */
      */
     saveMayAllocateText=pBiDi->mayAllocateText;
     saveMayAllocateText=pBiDi->mayAllocateText;
-    pBiDi->mayAllocateText=FALSE;
+    pBiDi->mayAllocateText=false;
     ubidi_setPara(pBiDi, visualText, visualLength, paraLevel, NULL, pErrorCode);
     ubidi_setPara(pBiDi, visualText, visualLength, paraLevel, NULL, pErrorCode);
     pBiDi->mayAllocateText=saveMayAllocateText;
     pBiDi->mayAllocateText=saveMayAllocateText;
     ubidi_getRuns(pBiDi, pErrorCode);
     ubidi_getRuns(pBiDi, pErrorCode);
@@ -2866,7 +2866,7 @@ ubidi_isOrderParagraphsLTR(UBiDi *pBiDi) {
     if(pBiDi!=NULL) {
     if(pBiDi!=NULL) {
         return pBiDi->orderParagraphsLTR;
         return pBiDi->orderParagraphsLTR;
     } else {
     } else {
-        return FALSE;
+        return false;
     }
     }
 }
 }
 
 

+ 1 - 1
thirdparty/icu4c/common/ubidi_props.cpp

@@ -53,7 +53,7 @@ _enumPropertyStartsRange(const void *context, UChar32 start, UChar32 end, uint32
     /* add the start code point to the USet */
     /* add the start code point to the USet */
     const USetAdder *sa=(const USetAdder *)context;
     const USetAdder *sa=(const USetAdder *)context;
     sa->add(sa->set, start);
     sa->add(sa->set, start);
-    return TRUE;
+    return true;
 }
 }
 
 
 U_CFUNC void
 U_CFUNC void

+ 131 - 122
thirdparty/icu4c/common/ubidi_props_data.h

@@ -9,11 +9,11 @@
 
 
 #ifdef INCLUDED_FROM_UBIDI_PROPS_C
 #ifdef INCLUDED_FROM_UBIDI_PROPS_C
 
 
-static const UVersionInfo ubidi_props_dataVersion={0xe,0,0,0};
+static const UVersionInfo ubidi_props_dataVersion={0xf,0,0,0};
 
 
-static const int32_t ubidi_props_indexes[UBIDI_IX_TOP]={0x10,0x6a98,0x64a8,0x28,0x620,0x8cc,0x10ac0,0x10d24,0,0,0,0,0,0,0,0x6702b6};
+static const int32_t ubidi_props_indexes[UBIDI_IX_TOP]={0x10,0x6bc0,0x65d0,0x28,0x620,0x8cc,0x10ac0,0x10d24,0,0,0,0,0,0,0,0x6702b6};
 
 
-static const uint16_t ubidi_props_trieIndex[12876]={
+static const uint16_t ubidi_props_trieIndex[13024]={
 0x387,0x38f,0x397,0x39f,0x3b7,0x3bf,0x3c7,0x3cf,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,
 0x387,0x38f,0x397,0x39f,0x3b7,0x3bf,0x3c7,0x3cf,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,
 0x3a7,0x3af,0x3a7,0x3af,0x3d5,0x3dd,0x3e5,0x3ed,0x3f5,0x3fd,0x3f9,0x401,0x409,0x411,0x40c,0x414,
 0x3a7,0x3af,0x3a7,0x3af,0x3d5,0x3dd,0x3e5,0x3ed,0x3f5,0x3fd,0x3f9,0x401,0x409,0x411,0x40c,0x414,
 0x3a7,0x3af,0x3a7,0x3af,0x41c,0x424,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,0x42a,0x432,0x43a,0x442,
 0x3a7,0x3af,0x3a7,0x3af,0x41c,0x424,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,0x42a,0x432,0x43a,0x442,
@@ -185,61 +185,61 @@ static const uint16_t ubidi_props_trieIndex[12876]={
 0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x9a6,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,
 0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x9a6,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,
 0x9ae,0x9b2,0x43c,0x43c,0x43c,0x43c,0x9c2,0x9ba,0x43c,0x9ca,0x43c,0x43c,0x9d2,0x9d8,0x43c,0x43c,
 0x9ae,0x9b2,0x43c,0x43c,0x43c,0x43c,0x9c2,0x9ba,0x43c,0x9ca,0x43c,0x43c,0x9d2,0x9d8,0x43c,0x43c,
 0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x9e8,0x9e0,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,
 0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x9e8,0x9e0,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,
-0x43c,0x43c,0x43c,0x9f0,0x43c,0x9f8,0x43c,0x43c,0x43c,0x9fc,0xa03,0xa09,0xa11,0xa15,0xa1d,0x43c,
-0x51b,0xa25,0xa2c,0xa33,0x41e,0xa3b,0x569,0x3a7,0x501,0xa42,0x3a7,0xa48,0x41e,0xa4d,0xa55,0x3a7,
-0x3a7,0xa5a,0x3a7,0x3a7,0x3a7,0x3a7,0x836,0xa62,0x41e,0x5a3,0x57e,0xa69,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0xa25,0xa71,0x3a7,0x3a7,0xa79,0xa81,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xa85,0xa8d,0x3a7,
-0x3a7,0xa95,0x57e,0xa9d,0x3a7,0xaa3,0x3a7,0x3a7,0x60f,0xaab,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0xab0,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xab7,0xabf,0x3a7,0x3a7,0x3a7,0xac2,0x57e,0xaca,
-0xace,0xad6,0x3a7,0xadd,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0xae4,0x3a7,0x3a7,0xaf2,0xaec,0x3a7,0x3a7,0x3a7,0xafa,0xb02,0x3a7,0xb06,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x5a5,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb13,0xb0e,0x3a7,
+0x43c,0x43c,0x43c,0x9f0,0x43c,0x9f8,0x4a6,0xa00,0x43c,0xa08,0xa0f,0xa15,0xa1d,0xa21,0xa29,0x43c,
+0x51b,0xa31,0xa38,0xa3f,0x41e,0xa47,0x569,0x3a7,0x501,0xa4e,0x3a7,0xa54,0x41e,0xa59,0xa61,0x3a7,
+0x3a7,0xa66,0x51b,0x3a7,0x3a7,0x3a7,0x836,0xa6e,0x41e,0x5a3,0x57e,0xa75,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0xa31,0xa7d,0x3a7,0x3a7,0xa85,0xa8d,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xa91,0xa99,0x3a7,
+0x3a7,0xaa1,0x57e,0xaa9,0x3a7,0xaaf,0x3a7,0x3a7,0x60f,0xab7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0xabc,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xac3,0xacb,0x3a7,0x3a7,0x3a7,0xace,0x57e,0xad6,
+0xada,0xae2,0x3a7,0xae9,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0xaf0,0x3a7,0x3a7,0xafe,0xaf8,0x3a7,0x3a7,0x3a7,0xb06,0xb0e,0x3a7,0xb12,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x5a5,0x41e,0x99e,0xb1a,0x3a7,0x3a7,0x3a7,0xb27,0xb22,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0xb1b,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb22,
-0x3a7,0xb28,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0xb2f,0xb37,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb3d,
+0x3a7,0xb43,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0xa49,0x3a7,0xb2e,0x3a7,0x3a7,0xb36,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0x3a7,0xa55,0x3a7,0xb49,0x3a7,0x3a7,0xb51,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x535,0xb3e,0x3a7,0x3a7,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x535,0xb59,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3f5,0xb46,0x500,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0xb4e,0xb56,0xb5c,0x3a7,0xb62,0x67c,0x67c,0xb6a,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x67c,0x67c,0xb72,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb78,
-0x3a7,0xb7f,0x3a7,0xb7b,0x3a7,0xb82,0x3a7,0xb8a,0xb8e,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3f5,0xb96,0x3f5,0xb9d,0xba4,0xbac,0x3a7,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3f5,0xb61,0x500,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0x3a7,0x3a7,0x3a7,0xb69,0xb71,0xb77,0x3a7,0xb7d,0x67c,0x67c,0xb85,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0x67c,0x67c,0xb8d,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb93,
+0x3a7,0xb9a,0x3a7,0xb96,0x3a7,0xb9d,0x3a7,0xba5,0xba9,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3f5,0xbb1,0x3f5,0xbb8,0xbbf,0xbc7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xbb4,0xbbc,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0xb28,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xa75,0x3a7,
-0xbc1,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0xbc9,
-0x43c,0xbd1,0xbd1,0xbd8,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xbcf,0xbd7,0x3a7,0x3a7,0xa55,0x3a7,0x3a7,
+0x3a7,0x3a7,0xb43,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xa81,0x3a7,
+0xbdc,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0xbe4,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0xbec,
+0x43c,0xbf4,0xbf4,0xbfb,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,
 0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x91e,0x4a6,0x4a6,0x43c,
 0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x91e,0x4a6,0x4a6,0x43c,
-0x43c,0x4a6,0x4a6,0xbe0,0x43c,0x43c,0x43c,0x43c,0x43c,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,
-0xbe8,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x67c,0xbf0,0x67c,0x67c,0x67f,0xbf5,0xbf9,
-0x858,0xc01,0x3c9,0x3a7,0xc07,0x3a7,0xc0c,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x783,0x3a7,0x3a7,0x3a7,
+0x43c,0x4a6,0x4a6,0xc03,0x43c,0x43c,0x43c,0x43c,0x43c,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,
+0xc0b,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x67c,0xc13,0x67c,0x67c,0x67f,0xc18,0xc1c,
+0x858,0xc24,0x3c9,0x3a7,0xc2a,0x3a7,0xc2f,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x783,0x3a7,0x3a7,0x3a7,
 0x3a7,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,
 0x3a7,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,
-0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0xc14,
-0x98f,0x67c,0x67c,0x67c,0x67f,0x67c,0x67c,0xc1c,0xc24,0xbf0,0x67c,0xc2c,0x67c,0xc34,0xc39,0x3a7,
-0x3a7,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67f,0xc41,0xc4d,0xc52,0xc5a,
-0xc49,0x67c,0x67c,0x67c,0x67c,0xc62,0x67c,0x792,0xc6a,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0xc37,
+0x98f,0x67c,0x67c,0x67c,0xc3e,0x67c,0x67c,0xc45,0xc4d,0xc13,0x67c,0xc55,0x67c,0xc5d,0xc62,0x3a7,
+0x3a7,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67f,0xc6a,0xc73,0xc77,0xc7f,
+0xc6f,0x67c,0x67c,0x67c,0x67c,0xc87,0x67c,0x792,0xc8f,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xc71,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xc96,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
-0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xc71,0xc81,0xc79,0xc79,0xc79,0xc82,0xc82,0xc82,
-0xc82,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0xc8a,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,
-0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,
-0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,
-0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,
-0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0x386,0x386,0x386,0x12,0x12,0x12,0x12,
+0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xc96,0xca6,0xc9e,0xc9e,0xc9e,0xca7,0xca7,0xca7,
+0xca7,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0xcaf,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,
+0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,
+0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,
+0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,
+0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0x386,0x386,0x386,0x12,0x12,0x12,0x12,
 0x12,0x12,0x12,0x12,0x12,8,7,8,9,7,0x12,0x12,0x12,0x12,0x12,0x12,
 0x12,0x12,0x12,0x12,0x12,8,7,8,9,7,0x12,0x12,0x12,0x12,0x12,0x12,
 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,7,7,7,8,9,0xa,0xa,4,
 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,7,7,7,8,9,0xa,0xa,4,
 4,4,0xa,0xa,0x310a,0xf20a,0xa,3,6,3,6,6,2,2,2,2,
 4,4,0xa,0xa,0x310a,0xf20a,0xa,3,6,3,6,6,2,2,2,2,
@@ -384,7 +384,7 @@ static const uint16_t ubidi_props_trieIndex[12876]={
 0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
 0,0,0,0,0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
 0xb1,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
 0xb1,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0xb1,0,0xb1,0,0xb1,0x310a,0xf20a,0x310a,0xf20a,0,0,
 0,0,0,0,0,0xb1,0,0xb1,0,0xb1,0x310a,0xf20a,0x310a,0xf20a,0,0,
@@ -654,6 +654,9 @@ static const uint16_t ubidi_props_trieIndex[12876]={
 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,
 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,
 1,1,1,1,1,1,1,1,1,1,1,0xb1,0xb1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,0xb1,0xb1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xb1,0xb1,0xb1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 0x4d,0x4d,0x4d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
 0x4d,0x4d,0x4d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
 0x4d,0xd,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x4d,0x4d,0x4d,
 0x4d,0xd,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x4d,0x4d,0x4d,
 0x8d,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
 0x8d,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
@@ -721,104 +724,110 @@ static const uint16_t ubidi_props_trieIndex[12876]={
 0,0,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,
 0,0,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0xb1,0,0xb1,
 0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0xb1,0,0xb1,
+0,0,0,0,0,0,0,0,0xb1,0,0xb1,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,4,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
 0,0,0,0,0,0,0,0,4,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,
 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,4,4,4,0,0,0,0,
 0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,4,4,4,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0xa0,0xa0,0xa0,0xa0,
 0,0,0,0,0,0,0,0,0,0,0,0,0xa0,0xa0,0xa0,0xa0,
-0xa0,0xa0,0xa0,0xa0,0xa0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,
+0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xb1,0,0,0,
+0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0xa,0,0xb1,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0xa,0,0xb1,0,0,0,
+0,0,0,0,0xb2,0xb2,0xb2,0xb2,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,0,0,0,0,
+0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0,0,
+0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0xb1,
-0xb1,0xb1,0,0,0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,0xb2,
-0xb2,0xb2,0xb2,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,
+0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xa,0xa,0xb1,0xb1,0xb1,0xa,0,0,
+0,0,0,0,0xa,0xa,0xb1,0xb1,0xb1,0xa,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0x100a,0,0,0,0,
+0,0,0,0,0,0,0,0x100a,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0x100a,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0x100a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0x100a,0,0,0,0,
-0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,
+0,0,0,0,0,0,0,0x100a,0,0,0,0,0,0,0,0,
+0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,
-0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0,0,0,0,0,0,0,0,0xb1,0,0,0,0,0,0,
-0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,
-0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,
+2,2,2,2,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,
+0,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,
+0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,
+0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,1,1,1,1,1,
-1,1,1,1,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
-0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
-0x41,0x41,0x41,0x41,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xa1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
-0xa,0xa,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,2,2,2,2,2,2,2,2,2,2,2,0xa,
-0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0,0,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,1,1,1,1,1,1,1,1,1,
+0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
+0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xa1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,0xd,0xd,0xd,0xd,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,0xd,0xd,0xd,0xd,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xa,0xa,0xd,0xd,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
+0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+2,2,2,2,2,2,2,2,2,2,2,0xa,0xa,0xa,0xa,0xa,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0xa,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
-0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0,0,0xa,0xa,0,0,0,0,0,0,0,0,0,0,
+0xa,0xa,0xa,0xa,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
+0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
 0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
 0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
-0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,
+0,0,0,0,0xa,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
 0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
 0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
+0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
 0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,
-2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,
+2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0x12,0x12,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
+0,0,0,0,0,0,0x12,0x12,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
 0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
 0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
-0xb2,0xb2,0xb2,0xb2,0x12,0xb2,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0x12,0xb2,0x12,0x12,0x12,0x12,0x12,0x12,
 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
-0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
-0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0,0,0,0
+0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x12,0x12,0x12,0x12,
+0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0,0,0,0
 };
 };
 
 
 static const uint32_t ubidi_props_mirrors[40]={
 static const uint32_t ubidi_props_mirrors[40]={
@@ -926,14 +935,14 @@ static const UBiDiProps ubidi_props_singleton={
     ubidi_props_trieIndex+3612,
     ubidi_props_trieIndex+3612,
     NULL,
     NULL,
     3612,
     3612,
-    9264,
+    9412,
     0x1a0,
     0x1a0,
     0xe9c,
     0xe9c,
     0x0,
     0x0,
     0x0,
     0x0,
     0x110000,
     0x110000,
-    0x3248,
-    NULL, 0, FALSE, FALSE, 0, NULL
+    0x32dc,
+    NULL, 0, false, false, 0, NULL
   },
   },
   { 2,2,0,0 }
   { 2,2,0,0 }
 };
 };

+ 8 - 8
thirdparty/icu4c/common/ubidiln.cpp

@@ -101,7 +101,7 @@ setTrailingWSStart(UBiDi *pBiDi) {
        are already set to paragraph level.
        are already set to paragraph level.
        Setting trailingWSStart to pBidi->length will avoid changing the
        Setting trailingWSStart to pBidi->length will avoid changing the
        level of B chars from 0 to paraLevel in ubidi_getLevels when
        level of B chars from 0 to paraLevel in ubidi_getLevels when
-       orderParagraphsLTR==TRUE.
+       orderParagraphsLTR==true.
      */
      */
     if(dirProps[start-1]==B) {
     if(dirProps[start-1]==B) {
         pBiDi->trailingWSStart=start;   /* currently == pBiDi->length */
         pBiDi->trailingWSStart=start;   /* currently == pBiDi->length */
@@ -535,7 +535,7 @@ static int32_t getRunFromLogicalIndex(UBiDi *pBiDi, int32_t logicalIndex) {
 
 
 /*
 /*
  * Compute the runs array from the levels array.
  * Compute the runs array from the levels array.
- * After ubidi_getRuns() returns TRUE, runCount is guaranteed to be >0
+ * After ubidi_getRuns() returns true, runCount is guaranteed to be >0
  * and the runs are reordered.
  * and the runs are reordered.
  * Odd-level runs have visualStart on their visual right edge and
  * Odd-level runs have visualStart on their visual right edge and
  * they progress visually to the left.
  * they progress visually to the left.
@@ -551,7 +551,7 @@ ubidi_getRuns(UBiDi *pBiDi, UErrorCode*) {
      * includes the case of length==0 (handled in setPara)..
      * includes the case of length==0 (handled in setPara)..
      */
      */
     if (pBiDi->runCount>=0) {
     if (pBiDi->runCount>=0) {
-        return TRUE;
+        return true;
     }
     }
 
 
     if(pBiDi->direction!=UBIDI_MIXED) {
     if(pBiDi->direction!=UBIDI_MIXED) {
@@ -608,7 +608,7 @@ ubidi_getRuns(UBiDi *pBiDi, UErrorCode*) {
             if(getRunsMemory(pBiDi, runCount)) {
             if(getRunsMemory(pBiDi, runCount)) {
                 runs=pBiDi->runsMemory;
                 runs=pBiDi->runsMemory;
             } else {
             } else {
-                return FALSE;
+                return false;
             }
             }
 
 
             /* set the runs */
             /* set the runs */
@@ -703,7 +703,7 @@ ubidi_getRuns(UBiDi *pBiDi, UErrorCode*) {
         }
         }
     }
     }
 
 
-    return TRUE;
+    return true;
 }
 }
 
 
 static UBool
 static UBool
@@ -714,7 +714,7 @@ prepareReorder(const UBiDiLevel *levels, int32_t length,
     UBiDiLevel level, minLevel, maxLevel;
     UBiDiLevel level, minLevel, maxLevel;
 
 
     if(levels==NULL || length<=0) {
     if(levels==NULL || length<=0) {
-        return FALSE;
+        return false;
     }
     }
 
 
     /* determine minLevel and maxLevel */
     /* determine minLevel and maxLevel */
@@ -723,7 +723,7 @@ prepareReorder(const UBiDiLevel *levels, int32_t length,
     for(start=length; start>0;) {
     for(start=length; start>0;) {
         level=levels[--start];
         level=levels[--start];
         if(level>UBIDI_MAX_EXPLICIT_LEVEL+1) {
         if(level>UBIDI_MAX_EXPLICIT_LEVEL+1) {
-            return FALSE;
+            return false;
         }
         }
         if(level<minLevel) {
         if(level<minLevel) {
             minLevel=level;
             minLevel=level;
@@ -741,7 +741,7 @@ prepareReorder(const UBiDiLevel *levels, int32_t length,
         indexMap[start]=start;
         indexMap[start]=start;
     }
     }
 
 
-    return TRUE;
+    return true;
 }
 }
 
 
 /* reorder a line based on a levels array (L2) ------------------------------ */
 /* reorder a line based on a levels array (L2) ------------------------------ */

+ 14 - 14
thirdparty/icu4c/common/ubiditransform.cpp

@@ -130,7 +130,7 @@ action_resolve(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
 {
 {
     ubidi_setPara(pTransform->pBidi, pTransform->src, pTransform->srcLength,
     ubidi_setPara(pTransform->pBidi, pTransform->src, pTransform->srcLength,
             pTransform->pActiveScheme->baseLevel, NULL, pErrorCode);
             pTransform->pActiveScheme->baseLevel, NULL, pErrorCode);
-    return FALSE;
+    return false;
 }
 }
 
 
 /**
 /**
@@ -150,7 +150,7 @@ action_reorder(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
 
 
     *pTransform->pDestLength = pTransform->srcLength;
     *pTransform->pDestLength = pTransform->srcLength;
     pTransform->reorderingOptions = UBIDI_REORDER_DEFAULT;
     pTransform->reorderingOptions = UBIDI_REORDER_DEFAULT;
-    return TRUE;
+    return true;
 }
 }
 
 
 /**
 /**
@@ -166,9 +166,9 @@ static UBool
 action_setInverse(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
 action_setInverse(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
 {
 {
     (void)pErrorCode;
     (void)pErrorCode;
-    ubidi_setInverse(pTransform->pBidi, TRUE);
+    ubidi_setInverse(pTransform->pBidi, true);
     ubidi_setReorderingMode(pTransform->pBidi, UBIDI_REORDER_INVERSE_LIKE_DIRECT);
     ubidi_setReorderingMode(pTransform->pBidi, UBIDI_REORDER_INVERSE_LIKE_DIRECT);
-    return FALSE;
+    return false;
 }
 }
 
 
 /**
 /**
@@ -186,7 +186,7 @@ action_setRunsOnly(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
 {
 {
     (void)pErrorCode;
     (void)pErrorCode;
     ubidi_setReorderingMode(pTransform->pBidi, UBIDI_REORDER_RUNS_ONLY);
     ubidi_setReorderingMode(pTransform->pBidi, UBIDI_REORDER_RUNS_ONLY);
-    return FALSE;
+    return false;
 }
 }
 
 
 /**
 /**
@@ -205,7 +205,7 @@ action_reverse(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
             pTransform->dest, pTransform->destSize,
             pTransform->dest, pTransform->destSize,
             UBIDI_REORDER_DEFAULT, pErrorCode);
             UBIDI_REORDER_DEFAULT, pErrorCode);
     *pTransform->pDestLength = pTransform->srcLength;
     *pTransform->pDestLength = pTransform->srcLength;
-    return TRUE;
+    return true;
 }
 }
 
 
 /**
 /**
@@ -274,7 +274,7 @@ static UBool
 action_shapeArabic(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
 action_shapeArabic(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
 {
 {
     if ((pTransform->letters | pTransform->digits) == 0) {
     if ((pTransform->letters | pTransform->digits) == 0) {
-        return FALSE;
+        return false;
     }
     }
     if (pTransform->pActiveScheme->lettersDir == pTransform->pActiveScheme->digitsDir) {
     if (pTransform->pActiveScheme->lettersDir == pTransform->pActiveScheme->digitsDir) {
         doShape(pTransform, pTransform->letters | pTransform->digits | pTransform->pActiveScheme->lettersDir,
         doShape(pTransform, pTransform->letters | pTransform->digits | pTransform->pActiveScheme->lettersDir,
@@ -288,7 +288,7 @@ action_shapeArabic(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
                     pErrorCode);
                     pErrorCode);
         }
         }
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 /**
 /**
@@ -306,11 +306,11 @@ action_mirror(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
     UChar32 c;
     UChar32 c;
     uint32_t i = 0, j = 0;
     uint32_t i = 0, j = 0;
     if (0 == (pTransform->reorderingOptions & UBIDI_DO_MIRRORING)) {
     if (0 == (pTransform->reorderingOptions & UBIDI_DO_MIRRORING)) {
-        return FALSE;
+        return false;
     }
     }
     if (pTransform->destSize < pTransform->srcLength) {
     if (pTransform->destSize < pTransform->srcLength) {
         *pErrorCode = U_BUFFER_OVERFLOW_ERROR;
         *pErrorCode = U_BUFFER_OVERFLOW_ERROR;
-        return FALSE;
+        return false;
     }
     }
     do {
     do {
         UBool isOdd = ubidi_getLevelAt(pTransform->pBidi, i) & 1;
         UBool isOdd = ubidi_getLevelAt(pTransform->pBidi, i) & 1;
@@ -320,7 +320,7 @@ action_mirror(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
     
     
     *pTransform->pDestLength = pTransform->srcLength;
     *pTransform->pDestLength = pTransform->srcLength;
     pTransform->reorderingOptions = UBIDI_REORDER_DEFAULT;
     pTransform->reorderingOptions = UBIDI_REORDER_DEFAULT;
-    return TRUE;
+    return true;
 }
 }
 
 
 /**
 /**
@@ -444,7 +444,7 @@ ubiditransform_transform(UBiDiTransform *pBiDiTransform,
             UErrorCode *pErrorCode)
             UErrorCode *pErrorCode)
 {
 {
     uint32_t destLength = 0;
     uint32_t destLength = 0;
-    UBool textChanged = FALSE;
+    UBool textChanged = false;
     const UBiDiTransform *pOrigTransform = pBiDiTransform;
     const UBiDiTransform *pOrigTransform = pBiDiTransform;
     const UBiDiAction *action = NULL;
     const UBiDiAction *action = NULL;
 
 
@@ -503,10 +503,10 @@ ubiditransform_transform(UBiDiTransform *pBiDiTransform,
                 updateSrc(pBiDiTransform, pBiDiTransform->dest, *pBiDiTransform->pDestLength,
                 updateSrc(pBiDiTransform, pBiDiTransform->dest, *pBiDiTransform->pDestLength,
                         *pBiDiTransform->pDestLength, pErrorCode);
                         *pBiDiTransform->pDestLength, pErrorCode);
             }
             }
-            textChanged = TRUE;
+            textChanged = true;
         }
         }
     }
     }
-    ubidi_setInverse(pBiDiTransform->pBidi, FALSE);
+    ubidi_setInverse(pBiDiTransform->pBidi, false);
 
 
     if (!textChanged && U_SUCCESS(*pErrorCode)) {
     if (!textChanged && U_SUCCESS(*pErrorCode)) {
         /* Text was not changed - just copy src to dest */
         /* Text was not changed - just copy src to dest */

+ 30 - 30
thirdparty/icu4c/common/ucase.cpp

@@ -40,7 +40,7 @@ _enumPropertyStartsRange(const void *context, UChar32 start, UChar32 /*end*/, ui
     /* add the start code point to the USet */
     /* add the start code point to the USet */
     const USetAdder *sa=(const USetAdder *)context;
     const USetAdder *sa=(const USetAdder *)context;
     sa->add(sa->set, start);
     sa->add(sa->set, start);
-    return TRUE;
+    return true;
 }
 }
 
 
 U_CFUNC void U_EXPORT2
 U_CFUNC void U_EXPORT2
@@ -354,7 +354,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
     int32_t i, start, limit, result, unfoldRows, unfoldRowWidth, unfoldStringWidth;
     int32_t i, start, limit, result, unfoldRows, unfoldRowWidth, unfoldStringWidth;
 
 
     if(ucase_props_singleton.unfold==NULL || s==NULL) {
     if(ucase_props_singleton.unfold==NULL || s==NULL) {
-        return FALSE; /* no reverse case folding data, or no string */
+        return false; /* no reverse case folding data, or no string */
     }
     }
     if(length<=1) {
     if(length<=1) {
         /* the string is too short to find any match */
         /* the string is too short to find any match */
@@ -364,7 +364,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
          * but this does not make much practical difference because
          * but this does not make much practical difference because
          * a single supplementary code point would just not be found
          * a single supplementary code point would just not be found
          */
          */
-        return FALSE;
+        return false;
     }
     }
 
 
     const uint16_t *unfold=ucase_props_singleton.unfold;
     const uint16_t *unfold=ucase_props_singleton.unfold;
@@ -375,7 +375,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
 
 
     if(length>unfoldStringWidth) {
     if(length>unfoldStringWidth) {
         /* the string is too long to find any match */
         /* the string is too long to find any match */
-        return FALSE;
+        return false;
     }
     }
 
 
     /* do a binary search for the string */
     /* do a binary search for the string */
@@ -395,7 +395,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
                 sa->add(sa->set, c);
                 sa->add(sa->set, c);
                 ucase_addCaseClosure(c, sa);
                 ucase_addCaseClosure(c, sa);
             }
             }
-            return TRUE;
+            return true;
         } else if(result<0) {
         } else if(result<0) {
             limit=i;
             limit=i;
         } else /* result>0 */ {
         } else /* result>0 */ {
@@ -403,7 +403,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
         }
         }
     }
     }
 
 
-    return FALSE; /* string not found */
+    return false; /* string not found */
 }
 }
 
 
 U_NAMESPACE_BEGIN
 U_NAMESPACE_BEGIN
@@ -431,7 +431,7 @@ FullCaseFoldingIterator::next(UnicodeString &full) {
     // Set "full" to the NUL-terminated string in the first unfold column.
     // Set "full" to the NUL-terminated string in the first unfold column.
     int32_t length=unfoldStringWidth;
     int32_t length=unfoldStringWidth;
     while(length>0 && p[length-1]==0) { --length; }
     while(length>0 && p[length-1]==0) { --length; }
-    full.setTo(FALSE, p, length);
+    full.setTo(false, p, length);
     // Return the code point.
     // Return the code point.
     UChar32 c;
     UChar32 c;
     U16_NEXT_UNSAFE(p, rowCpIndex, c);
     U16_NEXT_UNSAFE(p, rowCpIndex, c);
@@ -905,7 +905,7 @@ isFollowedByCasedLetter(UCaseContextIterator *iter, void *context, int8_t dir) {
     UChar32 c;
     UChar32 c;
 
 
     if(iter==NULL) {
     if(iter==NULL) {
-        return FALSE;
+        return false;
     }
     }
 
 
     for(/* dir!=0 sets direction */; (c=iter(context, dir))>=0; dir=0) {
     for(/* dir!=0 sets direction */; (c=iter(context, dir))>=0; dir=0) {
@@ -913,13 +913,13 @@ isFollowedByCasedLetter(UCaseContextIterator *iter, void *context, int8_t dir) {
         if(type&4) {
         if(type&4) {
             /* case-ignorable, continue with the loop */
             /* case-ignorable, continue with the loop */
         } else if(type!=UCASE_NONE) {
         } else if(type!=UCASE_NONE) {
-            return TRUE; /* followed by cased letter */
+            return true; /* followed by cased letter */
         } else {
         } else {
-            return FALSE; /* uncased and not case-ignorable */
+            return false; /* uncased and not case-ignorable */
         }
         }
     }
     }
 
 
-    return FALSE; /* not followed by cased letter */
+    return false; /* not followed by cased letter */
 }
 }
 
 
 /* Is preceded by Soft_Dotted character with no intervening cc=230 ? */
 /* Is preceded by Soft_Dotted character with no intervening cc=230 ? */
@@ -930,19 +930,19 @@ isPrecededBySoftDotted(UCaseContextIterator *iter, void *context) {
     int8_t dir;
     int8_t dir;
 
 
     if(iter==NULL) {
     if(iter==NULL) {
-        return FALSE;
+        return false;
     }
     }
 
 
     for(dir=-1; (c=iter(context, dir))>=0; dir=0) {
     for(dir=-1; (c=iter(context, dir))>=0; dir=0) {
         dotType=getDotType(c);
         dotType=getDotType(c);
         if(dotType==UCASE_SOFT_DOTTED) {
         if(dotType==UCASE_SOFT_DOTTED) {
-            return TRUE; /* preceded by TYPE_i */
+            return true; /* preceded by TYPE_i */
         } else if(dotType!=UCASE_OTHER_ACCENT) {
         } else if(dotType!=UCASE_OTHER_ACCENT) {
-            return FALSE; /* preceded by different base character (not TYPE_i), or intervening cc==230 */
+            return false; /* preceded by different base character (not TYPE_i), or intervening cc==230 */
         }
         }
     }
     }
 
 
-    return FALSE; /* not preceded by TYPE_i */
+    return false; /* not preceded by TYPE_i */
 }
 }
 
 
 /*
 /*
@@ -987,20 +987,20 @@ isPrecededBy_I(UCaseContextIterator *iter, void *context) {
     int8_t dir;
     int8_t dir;
 
 
     if(iter==NULL) {
     if(iter==NULL) {
-        return FALSE;
+        return false;
     }
     }
 
 
     for(dir=-1; (c=iter(context, dir))>=0; dir=0) {
     for(dir=-1; (c=iter(context, dir))>=0; dir=0) {
         if(c==0x49) {
         if(c==0x49) {
-            return TRUE; /* preceded by I */
+            return true; /* preceded by I */
         }
         }
         dotType=getDotType(c);
         dotType=getDotType(c);
         if(dotType!=UCASE_OTHER_ACCENT) {
         if(dotType!=UCASE_OTHER_ACCENT) {
-            return FALSE; /* preceded by different base character (not I), or intervening cc==230 */
+            return false; /* preceded by different base character (not I), or intervening cc==230 */
         }
         }
     }
     }
 
 
-    return FALSE; /* not preceded by I */
+    return false; /* not preceded by I */
 }
 }
 
 
 /* Is followed by one or more cc==230 ? */
 /* Is followed by one or more cc==230 ? */
@@ -1011,19 +1011,19 @@ isFollowedByMoreAbove(UCaseContextIterator *iter, void *context) {
     int8_t dir;
     int8_t dir;
 
 
     if(iter==NULL) {
     if(iter==NULL) {
-        return FALSE;
+        return false;
     }
     }
 
 
     for(dir=1; (c=iter(context, dir))>=0; dir=0) {
     for(dir=1; (c=iter(context, dir))>=0; dir=0) {
         dotType=getDotType(c);
         dotType=getDotType(c);
         if(dotType==UCASE_ABOVE) {
         if(dotType==UCASE_ABOVE) {
-            return TRUE; /* at least one cc==230 following */
+            return true; /* at least one cc==230 following */
         } else if(dotType!=UCASE_OTHER_ACCENT) {
         } else if(dotType!=UCASE_OTHER_ACCENT) {
-            return FALSE; /* next base character, no more cc==230 following */
+            return false; /* next base character, no more cc==230 following */
         }
         }
     }
     }
 
 
-    return FALSE; /* no more cc==230 following */
+    return false; /* no more cc==230 following */
 }
 }
 
 
 /* Is followed by a dot above (without cc==230 in between) ? */
 /* Is followed by a dot above (without cc==230 in between) ? */
@@ -1034,20 +1034,20 @@ isFollowedByDotAbove(UCaseContextIterator *iter, void *context) {
     int8_t dir;
     int8_t dir;
 
 
     if(iter==NULL) {
     if(iter==NULL) {
-        return FALSE;
+        return false;
     }
     }
 
 
     for(dir=1; (c=iter(context, dir))>=0; dir=0) {
     for(dir=1; (c=iter(context, dir))>=0; dir=0) {
         if(c==0x307) {
         if(c==0x307) {
-            return TRUE;
+            return true;
         }
         }
         dotType=getDotType(c);
         dotType=getDotType(c);
         if(dotType!=UCASE_OTHER_ACCENT) {
         if(dotType!=UCASE_OTHER_ACCENT) {
-            return FALSE; /* next base character or cc==230 in between */
+            return false; /* next base character or cc==230 in between */
         }
         }
     }
     }
 
 
-    return FALSE; /* no dot above following */
+    return false; /* no dot above following */
 }
 }
 
 
 U_CAPI int32_t U_EXPORT2
 U_CAPI int32_t U_EXPORT2
@@ -1317,7 +1317,7 @@ ucase_toFullUpper(UChar32 c,
                   UCaseContextIterator *iter, void *context,
                   UCaseContextIterator *iter, void *context,
                   const UChar **pString,
                   const UChar **pString,
                   int32_t caseLocale) {
                   int32_t caseLocale) {
-    return toUpperOrTitle(c, iter, context, pString, caseLocale, TRUE);
+    return toUpperOrTitle(c, iter, context, pString, caseLocale, true);
 }
 }
 
 
 U_CAPI int32_t U_EXPORT2
 U_CAPI int32_t U_EXPORT2
@@ -1325,7 +1325,7 @@ ucase_toFullTitle(UChar32 c,
                   UCaseContextIterator *iter, void *context,
                   UCaseContextIterator *iter, void *context,
                   const UChar **pString,
                   const UChar **pString,
                   int32_t caseLocale) {
                   int32_t caseLocale) {
-    return toUpperOrTitle(c, iter, context, pString, caseLocale, FALSE);
+    return toUpperOrTitle(c, iter, context, pString, caseLocale, false);
 }
 }
 
 
 /* case folding ------------------------------------------------------------- */
 /* case folding ------------------------------------------------------------- */
@@ -1601,6 +1601,6 @@ ucase_hasBinaryProperty(UChar32 c, UProperty which) {
             ucase_toFullUpper(c, NULL, NULL, &resultString, UCASE_LOC_ROOT)>=0 ||
             ucase_toFullUpper(c, NULL, NULL, &resultString, UCASE_LOC_ROOT)>=0 ||
             ucase_toFullTitle(c, NULL, NULL, &resultString, UCASE_LOC_ROOT)>=0);
             ucase_toFullTitle(c, NULL, NULL, &resultString, UCASE_LOC_ROOT)>=0);
     default:
     default:
-        return FALSE;
+        return false;
     }
     }
 }
 }

+ 2 - 2
thirdparty/icu4c/common/ucase.h

@@ -139,8 +139,8 @@ public:
      */
      */
     UChar32 next(UnicodeString &full);
     UChar32 next(UnicodeString &full);
 private:
 private:
-    FullCaseFoldingIterator(const FullCaseFoldingIterator &);  // no copy
-    FullCaseFoldingIterator &operator=(const FullCaseFoldingIterator &);  // no assignment
+    FullCaseFoldingIterator(const FullCaseFoldingIterator &) = delete;  // no copy
+    FullCaseFoldingIterator &operator=(const FullCaseFoldingIterator &) = delete;  // no assignment
 
 
     const UChar *unfold;
     const UChar *unfold;
     int32_t unfoldRows;
     int32_t unfoldRows;

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 688 - 673
thirdparty/icu4c/common/ucase_props_data.h


+ 9 - 9
thirdparty/icu4c/common/ucasemap.cpp

@@ -157,7 +157,7 @@ appendResult(int32_t cpLength, int32_t result, const UChar *s,
             ByteSinkUtil::appendCodePoint(cpLength, result, sink, edits);
             ByteSinkUtil::appendCodePoint(cpLength, result, sink, edits);
         }
         }
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 // See unicode/utf8.h U8_APPEND_UNSAFE().
 // See unicode/utf8.h U8_APPEND_UNSAFE().
@@ -525,14 +525,14 @@ ucasemap_internalUTF8ToTitle(
     csc.p=(void *)src;
     csc.p=(void *)src;
     csc.limit=srcLength;
     csc.limit=srcLength;
     int32_t prev=0;
     int32_t prev=0;
-    UBool isFirstIndex=TRUE;
+    UBool isFirstIndex=true;
 
 
     /* titlecasing loop */
     /* titlecasing loop */
     while(prev<srcLength) {
     while(prev<srcLength) {
         /* find next index where to titlecase */
         /* find next index where to titlecase */
         int32_t index;
         int32_t index;
         if(isFirstIndex) {
         if(isFirstIndex) {
-            isFirstIndex=FALSE;
+            isFirstIndex=false;
             index=iter->first();
             index=iter->first();
         } else {
         } else {
             index=iter->next();
             index=iter->next();
@@ -643,12 +643,12 @@ UBool isFollowedByCasedLetter(const uint8_t *s, int32_t i, int32_t length) {
         if ((type & UCASE_IGNORABLE) != 0) {
         if ((type & UCASE_IGNORABLE) != 0) {
             // Case-ignorable, continue with the loop.
             // Case-ignorable, continue with the loop.
         } else if (type != UCASE_NONE) {
         } else if (type != UCASE_NONE) {
-            return TRUE;  // Followed by cased letter.
+            return true;  // Followed by cased letter.
         } else {
         } else {
-            return FALSE;  // Uncased and not case-ignorable.
+            return false;  // Uncased and not case-ignorable.
         }
         }
     }
     }
-    return FALSE;  // Not followed by cased letter.
+    return false;  // Not followed by cased letter.
 }
 }
 
 
 // Keep this consistent with the UTF-16 version in ustrcase.cpp and the Java version in CaseMap.java.
 // Keep this consistent with the UTF-16 version in ustrcase.cpp and the Java version in CaseMap.java.
@@ -707,7 +707,7 @@ void toUpper(uint32_t options,
                 nextState |= AFTER_VOWEL_WITH_ACCENT;
                 nextState |= AFTER_VOWEL_WITH_ACCENT;
             }
             }
             // Map according to Greek rules.
             // Map according to Greek rules.
-            UBool addTonos = FALSE;
+            UBool addTonos = false;
             if (upper == 0x397 &&
             if (upper == 0x397 &&
                     (data & HAS_ACCENT) != 0 &&
                     (data & HAS_ACCENT) != 0 &&
                     numYpogegrammeni == 0 &&
                     numYpogegrammeni == 0 &&
@@ -718,7 +718,7 @@ void toUpper(uint32_t options,
                 if (i == nextIndex) {
                 if (i == nextIndex) {
                     upper = 0x389;  // Preserve the precomposed form.
                     upper = 0x389;  // Preserve the precomposed form.
                 } else {
                 } else {
-                    addTonos = TRUE;
+                    addTonos = true;
                 }
                 }
             } else if ((data & HAS_DIALYTIKA) != 0) {
             } else if ((data & HAS_DIALYTIKA) != 0) {
                 // Preserve a vowel with dialytika in precomposed form if it exists.
                 // Preserve a vowel with dialytika in precomposed form if it exists.
@@ -733,7 +733,7 @@ void toUpper(uint32_t options,
 
 
             UBool change;
             UBool change;
             if (edits == nullptr && (options & U_OMIT_UNCHANGED_TEXT) == 0) {
             if (edits == nullptr && (options & U_OMIT_UNCHANGED_TEXT) == 0) {
-                change = TRUE;  // common, simple usage
+                change = true;  // common, simple usage
             } else {
             } else {
                 // Find out first whether we are changing the text.
                 // Find out first whether we are changing the text.
                 U_ASSERT(0x370 <= upper && upper <= 0x3ff);  // 2-byte UTF-8, main Greek block
                 U_ASSERT(0x370 <= upper && upper <= 0x3ff);  // 2-byte UTF-8, main Greek block

+ 6 - 6
thirdparty/icu4c/common/uchar.cpp

@@ -126,7 +126,7 @@ u_isxdigit(UChar32 c) {
         (c<=0x66 && c>=0x41 && (c<=0x46 || c>=0x61)) ||
         (c<=0x66 && c>=0x41 && (c<=0x46 || c>=0x61)) ||
         (c>=0xff21 && c<=0xff46 && (c<=0xff26 || c>=0xff41))
         (c>=0xff21 && c<=0xff46 && (c<=0xff26 || c>=0xff41))
     ) {
     ) {
-        return TRUE;
+        return true;
     }
     }
 
 
     GET_PROPS(c, props);
     GET_PROPS(c, props);
@@ -249,7 +249,7 @@ U_CAPI UBool U_EXPORT2
 u_isprint(UChar32 c) {
 u_isprint(UChar32 c) {
     uint32_t props;
     uint32_t props;
     GET_PROPS(c, props);
     GET_PROPS(c, props);
-    /* comparing ==0 returns FALSE for the categories mentioned */
+    /* comparing ==0 returns false for the categories mentioned */
     return (UBool)((CAT_MASK(props)&U_GC_C_MASK)==0);
     return (UBool)((CAT_MASK(props)&U_GC_C_MASK)==0);
 }
 }
 
 
@@ -273,7 +273,7 @@ U_CAPI UBool U_EXPORT2
 u_isgraph(UChar32 c) {
 u_isgraph(UChar32 c) {
     uint32_t props;
     uint32_t props;
     GET_PROPS(c, props);
     GET_PROPS(c, props);
-    /* comparing ==0 returns FALSE for the categories mentioned */
+    /* comparing ==0 returns false for the categories mentioned */
     return (UBool)((CAT_MASK(props)&
     return (UBool)((CAT_MASK(props)&
                     (U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CS_MASK|U_GC_CN_MASK|U_GC_Z_MASK))
                     (U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CS_MASK|U_GC_CN_MASK|U_GC_Z_MASK))
                    ==0);
                    ==0);
@@ -291,7 +291,7 @@ u_isgraphPOSIX(UChar32 c) {
     uint32_t props;
     uint32_t props;
     GET_PROPS(c, props);
     GET_PROPS(c, props);
     /* \p{space}\p{gc=Control} == \p{gc=Z}\p{Control} */
     /* \p{space}\p{gc=Control} == \p{gc=Z}\p{Control} */
-    /* comparing ==0 returns FALSE for the categories mentioned */
+    /* comparing ==0 returns false for the categories mentioned */
     return (UBool)((CAT_MASK(props)&
     return (UBool)((CAT_MASK(props)&
                     (U_GC_CC_MASK|U_GC_CS_MASK|U_GC_CN_MASK|U_GC_Z_MASK))
                     (U_GC_CC_MASK|U_GC_CS_MASK|U_GC_CN_MASK|U_GC_Z_MASK))
                    ==0);
                    ==0);
@@ -591,7 +591,7 @@ uscript_hasScript(UChar32 c, UScriptCode sc) {
     uint32_t sc32=sc;
     uint32_t sc32=sc;
     if(sc32>0x7fff) {
     if(sc32>0x7fff) {
         /* Guard against bogus input that would make us go past the Script_Extensions terminator. */
         /* Guard against bogus input that would make us go past the Script_Extensions terminator. */
-        return FALSE;
+        return false;
     }
     }
     while(sc32>*scx) {
     while(sc32>*scx) {
         ++scx;
         ++scx;
@@ -654,7 +654,7 @@ _enumPropertyStartsRange(const void *context, UChar32 start, UChar32 end, uint32
     sa->add(sa->set, start);
     sa->add(sa->set, start);
     (void)end;
     (void)end;
     (void)value;
     (void)value;
-    return TRUE;
+    return true;
 }
 }
 
 
 #define USET_ADD_CP_AND_NEXT(sa, cp) sa->add(sa->set, cp); sa->add(sa->set, cp+1)
 #define USET_ADD_CP_AND_NEXT(sa, cp) sa->add(sa->set, cp); sa->add(sa->set, cp+1)

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1045 - 1034
thirdparty/icu4c/common/uchar_props_data.h


+ 7 - 7
thirdparty/icu4c/common/ucharstrie.cpp

@@ -308,13 +308,13 @@ UCharsTrie::findUniqueValueFromBranch(const UChar *pos, int32_t length,
                 }
                 }
             } else {
             } else {
                 uniqueValue=value;
                 uniqueValue=value;
-                haveUniqueValue=TRUE;
+                haveUniqueValue=true;
             }
             }
         } else {
         } else {
             if(!findUniqueValue(pos+value, haveUniqueValue, uniqueValue)) {
             if(!findUniqueValue(pos+value, haveUniqueValue, uniqueValue)) {
                 return NULL;
                 return NULL;
             }
             }
-            haveUniqueValue=TRUE;
+            haveUniqueValue=true;
         }
         }
     } while(--length>1);
     } while(--length>1);
     return pos+1;  // ignore the last comparison unit
     return pos+1;  // ignore the last comparison unit
@@ -330,9 +330,9 @@ UCharsTrie::findUniqueValue(const UChar *pos, UBool haveUniqueValue, int32_t &un
             }
             }
             pos=findUniqueValueFromBranch(pos, node+1, haveUniqueValue, uniqueValue);
             pos=findUniqueValueFromBranch(pos, node+1, haveUniqueValue, uniqueValue);
             if(pos==NULL) {
             if(pos==NULL) {
-                return FALSE;
+                return false;
             }
             }
-            haveUniqueValue=TRUE;
+            haveUniqueValue=true;
             node=*pos++;
             node=*pos++;
         } else if(node<kMinValueLead) {
         } else if(node<kMinValueLead) {
             // linear-match node
             // linear-match node
@@ -348,14 +348,14 @@ UCharsTrie::findUniqueValue(const UChar *pos, UBool haveUniqueValue, int32_t &un
             }
             }
             if(haveUniqueValue) {
             if(haveUniqueValue) {
                 if(value!=uniqueValue) {
                 if(value!=uniqueValue) {
-                    return FALSE;
+                    return false;
                 }
                 }
             } else {
             } else {
                 uniqueValue=value;
                 uniqueValue=value;
-                haveUniqueValue=TRUE;
+                haveUniqueValue=true;
             }
             }
             if(isFinal) {
             if(isFinal) {
-                return TRUE;
+                return true;
             }
             }
             pos=skipNodeValue(pos, node);
             pos=skipNodeValue(pos, node);
             node&=kNodeTypeMask;
             node&=kNodeTypeMask;

+ 5 - 5
thirdparty/icu4c/common/ucharstriebuilder.cpp

@@ -163,7 +163,7 @@ UCharsTrieBuilder::buildUnicodeString(UStringTrieBuildOption buildOption, Unicod
                                       UErrorCode &errorCode) {
                                       UErrorCode &errorCode) {
     buildUChars(buildOption, errorCode);
     buildUChars(buildOption, errorCode);
     if(U_SUCCESS(errorCode)) {
     if(U_SUCCESS(errorCode)) {
-        result.setTo(FALSE, uchars+(ucharsCapacity-ucharsLength), ucharsLength);
+        result.setTo(false, uchars+(ucharsCapacity-ucharsLength), ucharsLength);
     }
     }
     return result;
     return result;
 }
 }
@@ -188,7 +188,7 @@ UCharsTrieBuilder::buildUChars(UStringTrieBuildOption buildOption, UErrorCode &e
         }
         }
         uprv_sortArray(elements, elementsLength, (int32_t)sizeof(UCharsTrieElement),
         uprv_sortArray(elements, elementsLength, (int32_t)sizeof(UCharsTrieElement),
                       compareElementStrings, &strings,
                       compareElementStrings, &strings,
-                      FALSE,  // need not be a stable sort
+                      false,  // need not be a stable sort
                       &errorCode);
                       &errorCode);
         if(U_FAILURE(errorCode)) {
         if(U_FAILURE(errorCode)) {
             return;
             return;
@@ -322,7 +322,7 @@ UCharsTrieBuilder::createLinearMatchNode(int32_t i, int32_t unitIndex, int32_t l
 UBool
 UBool
 UCharsTrieBuilder::ensureCapacity(int32_t length) {
 UCharsTrieBuilder::ensureCapacity(int32_t length) {
     if(uchars==NULL) {
     if(uchars==NULL) {
-        return FALSE;  // previous memory allocation had failed
+        return false;  // previous memory allocation had failed
     }
     }
     if(length>ucharsCapacity) {
     if(length>ucharsCapacity) {
         int32_t newCapacity=ucharsCapacity;
         int32_t newCapacity=ucharsCapacity;
@@ -335,7 +335,7 @@ UCharsTrieBuilder::ensureCapacity(int32_t length) {
             uprv_free(uchars);
             uprv_free(uchars);
             uchars=NULL;
             uchars=NULL;
             ucharsCapacity=0;
             ucharsCapacity=0;
-            return FALSE;
+            return false;
         }
         }
         u_memcpy(newUChars+(newCapacity-ucharsLength),
         u_memcpy(newUChars+(newCapacity-ucharsLength),
                  uchars+(ucharsCapacity-ucharsLength), ucharsLength);
                  uchars+(ucharsCapacity-ucharsLength), ucharsLength);
@@ -343,7 +343,7 @@ UCharsTrieBuilder::ensureCapacity(int32_t length) {
         uchars=newUChars;
         uchars=newUChars;
         ucharsCapacity=newCapacity;
         ucharsCapacity=newCapacity;
     }
     }
-    return TRUE;
+    return true;
 }
 }
 
 
 int32_t
 int32_t

+ 10 - 10
thirdparty/icu4c/common/ucharstrieiterator.cpp

@@ -26,7 +26,7 @@ UCharsTrie::Iterator::Iterator(ConstChar16Ptr trieUChars, int32_t maxStringLengt
         : uchars_(trieUChars),
         : uchars_(trieUChars),
           pos_(uchars_), initialPos_(uchars_),
           pos_(uchars_), initialPos_(uchars_),
           remainingMatchLength_(-1), initialRemainingMatchLength_(-1),
           remainingMatchLength_(-1), initialRemainingMatchLength_(-1),
-          skipValue_(FALSE),
+          skipValue_(false),
           maxLength_(maxStringLength), value_(0), stack_(NULL) {
           maxLength_(maxStringLength), value_(0), stack_(NULL) {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
         return;
         return;
@@ -48,7 +48,7 @@ UCharsTrie::Iterator::Iterator(const UCharsTrie &trie, int32_t maxStringLength,
         : uchars_(trie.uchars_), pos_(trie.pos_), initialPos_(trie.pos_),
         : uchars_(trie.uchars_), pos_(trie.pos_), initialPos_(trie.pos_),
           remainingMatchLength_(trie.remainingMatchLength_),
           remainingMatchLength_(trie.remainingMatchLength_),
           initialRemainingMatchLength_(trie.remainingMatchLength_),
           initialRemainingMatchLength_(trie.remainingMatchLength_),
-          skipValue_(FALSE),
+          skipValue_(false),
           maxLength_(maxStringLength), value_(0), stack_(NULL) {
           maxLength_(maxStringLength), value_(0), stack_(NULL) {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
         return;
         return;
@@ -82,7 +82,7 @@ UCharsTrie::Iterator &
 UCharsTrie::Iterator::reset() {
 UCharsTrie::Iterator::reset() {
     pos_=initialPos_;
     pos_=initialPos_;
     remainingMatchLength_=initialRemainingMatchLength_;
     remainingMatchLength_=initialRemainingMatchLength_;
-    skipValue_=FALSE;
+    skipValue_=false;
     int32_t length=remainingMatchLength_+1;  // Remaining match length.
     int32_t length=remainingMatchLength_+1;  // Remaining match length.
     if(maxLength_>0 && length>maxLength_) {
     if(maxLength_>0 && length>maxLength_) {
         length=maxLength_;
         length=maxLength_;
@@ -100,12 +100,12 @@ UCharsTrie::Iterator::hasNext() const { return pos_!=NULL || !stack_->isEmpty();
 UBool
 UBool
 UCharsTrie::Iterator::next(UErrorCode &errorCode) {
 UCharsTrie::Iterator::next(UErrorCode &errorCode) {
     if(U_FAILURE(errorCode)) {
     if(U_FAILURE(errorCode)) {
-        return FALSE;
+        return false;
     }
     }
     const UChar *pos=pos_;
     const UChar *pos=pos_;
     if(pos==NULL) {
     if(pos==NULL) {
         if(stack_->isEmpty()) {
         if(stack_->isEmpty()) {
-            return FALSE;
+            return false;
         }
         }
         // Pop the state off the stack and continue with the next outbound edge of
         // Pop the state off the stack and continue with the next outbound edge of
         // the branch node.
         // the branch node.
@@ -118,7 +118,7 @@ UCharsTrie::Iterator::next(UErrorCode &errorCode) {
         if(length>1) {
         if(length>1) {
             pos=branchNext(pos, length, errorCode);
             pos=branchNext(pos, length, errorCode);
             if(pos==NULL) {
             if(pos==NULL) {
-                return TRUE;  // Reached a final value.
+                return true;  // Reached a final value.
             }
             }
         } else {
         } else {
             str_.append(*pos++);
             str_.append(*pos++);
@@ -135,7 +135,7 @@ UCharsTrie::Iterator::next(UErrorCode &errorCode) {
             if(skipValue_) {
             if(skipValue_) {
                 pos=skipNodeValue(pos, node);
                 pos=skipNodeValue(pos, node);
                 node&=kNodeTypeMask;
                 node&=kNodeTypeMask;
-                skipValue_=FALSE;
+                skipValue_=false;
             } else {
             } else {
                 // Deliver value for the string so far.
                 // Deliver value for the string so far.
                 UBool isFinal=(UBool)(node>>15);
                 UBool isFinal=(UBool)(node>>15);
@@ -152,9 +152,9 @@ UCharsTrie::Iterator::next(UErrorCode &errorCode) {
                     // next time.
                     // next time.
                     // Instead, keep pos_ on the node lead unit itself.
                     // Instead, keep pos_ on the node lead unit itself.
                     pos_=pos-1;
                     pos_=pos-1;
-                    skipValue_=TRUE;
+                    skipValue_=true;
                 }
                 }
-                return TRUE;
+                return true;
             }
             }
         }
         }
         if(maxLength_>0 && str_.length()==maxLength_) {
         if(maxLength_>0 && str_.length()==maxLength_) {
@@ -166,7 +166,7 @@ UCharsTrie::Iterator::next(UErrorCode &errorCode) {
             }
             }
             pos=branchNext(pos, node+1, errorCode);
             pos=branchNext(pos, node+1, errorCode);
             if(pos==NULL) {
             if(pos==NULL) {
-                return TRUE;  // Reached a final value.
+                return true;  // Reached a final value.
             }
             }
         } else {
         } else {
             // Linear-match node, append length units to str_.
             // Linear-match node, append length units to str_.

+ 2 - 2
thirdparty/icu4c/common/uchriter.cpp

@@ -171,7 +171,7 @@ UCharCharacterIterator::nextPostInc() {
 
 
 UBool
 UBool
 UCharCharacterIterator::hasNext() {
 UCharCharacterIterator::hasNext() {
-    return (UBool)(pos < end ? TRUE : FALSE);
+    return (UBool)(pos < end ? true : false);
 }
 }
 
 
 UChar
 UChar
@@ -185,7 +185,7 @@ UCharCharacterIterator::previous() {
 
 
 UBool
 UBool
 UCharCharacterIterator::hasPrevious() {
 UCharCharacterIterator::hasPrevious() {
-    return (UBool)(pos > begin ? TRUE : FALSE);
+    return (UBool)(pos > begin ? true : false);
 }
 }
 
 
 UChar32
 UChar32

+ 1 - 1
thirdparty/icu4c/common/ucln_cmn.cpp

@@ -120,5 +120,5 @@ U_CFUNC UBool ucln_lib_cleanup(void) {
 #if !UCLN_NO_AUTO_CLEANUP && (defined(UCLN_AUTO_ATEXIT) || defined(UCLN_AUTO_LOCAL))
 #if !UCLN_NO_AUTO_CLEANUP && (defined(UCLN_AUTO_ATEXIT) || defined(UCLN_AUTO_LOCAL))
     ucln_unRegisterAutomaticCleanup();
     ucln_unRegisterAutomaticCleanup();
 #endif
 #endif
-    return TRUE;
+    return true;
 }
 }

+ 55 - 55
thirdparty/icu4c/common/ucnv.cpp

@@ -163,7 +163,7 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
     UErrorCode cbErr;
     UErrorCode cbErr;
     UConverterToUnicodeArgs toUArgs = {
     UConverterToUnicodeArgs toUArgs = {
         sizeof(UConverterToUnicodeArgs),
         sizeof(UConverterToUnicodeArgs),
-            TRUE,
+            true,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
@@ -173,7 +173,7 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
     };
     };
     UConverterFromUnicodeArgs fromUArgs = {
     UConverterFromUnicodeArgs fromUArgs = {
         sizeof(UConverterFromUnicodeArgs),
         sizeof(UConverterFromUnicodeArgs),
-            TRUE,
+            true,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL,
@@ -269,7 +269,7 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
 
 
     /* Copy initial state */
     /* Copy initial state */
     uprv_memcpy(localConverter, cnv, sizeof(UConverter));
     uprv_memcpy(localConverter, cnv, sizeof(UConverter));
-    localConverter->isCopyLocal = localConverter->isExtraLocal = FALSE;
+    localConverter->isCopyLocal = localConverter->isExtraLocal = false;
 
 
     /* copy the substitution string */
     /* copy the substitution string */
     if (cnv->subChars == (uint8_t *)cnv->subUChars) {
     if (cnv->subChars == (uint8_t *)cnv->subUChars) {
@@ -306,7 +306,7 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
 
 
     if(localConverter == (UConverter*)stackBuffer) {
     if(localConverter == (UConverter*)stackBuffer) {
         /* we're using user provided data - set to not destroy */
         /* we're using user provided data - set to not destroy */
-        localConverter->isCopyLocal = TRUE;
+        localConverter->isCopyLocal = true;
     }
     }
 
 
     /* allow callback functions to handle any memory allocation */
     /* allow callback functions to handle any memory allocation */
@@ -352,7 +352,7 @@ ucnv_close (UConverter * converter)
     if (converter->fromCharErrorBehaviour != UCNV_TO_U_DEFAULT_CALLBACK) {
     if (converter->fromCharErrorBehaviour != UCNV_TO_U_DEFAULT_CALLBACK) {
         UConverterToUnicodeArgs toUArgs = {
         UConverterToUnicodeArgs toUArgs = {
             sizeof(UConverterToUnicodeArgs),
             sizeof(UConverterToUnicodeArgs),
-                TRUE,
+                true,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
@@ -368,7 +368,7 @@ ucnv_close (UConverter * converter)
     if (converter->fromUCharErrorBehaviour != UCNV_FROM_U_DEFAULT_CALLBACK) {
     if (converter->fromUCharErrorBehaviour != UCNV_FROM_U_DEFAULT_CALLBACK) {
         UConverterFromUnicodeArgs fromUArgs = {
         UConverterFromUnicodeArgs fromUArgs = {
             sizeof(UConverterFromUnicodeArgs),
             sizeof(UConverterFromUnicodeArgs),
-                TRUE,
+                true,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
@@ -580,7 +580,7 @@ static void _reset(UConverter *converter, UConverterResetChoice choice,
         if(choice<=UCNV_RESET_TO_UNICODE && converter->fromCharErrorBehaviour != UCNV_TO_U_DEFAULT_CALLBACK) {
         if(choice<=UCNV_RESET_TO_UNICODE && converter->fromCharErrorBehaviour != UCNV_TO_U_DEFAULT_CALLBACK) {
             UConverterToUnicodeArgs toUArgs = {
             UConverterToUnicodeArgs toUArgs = {
                 sizeof(UConverterToUnicodeArgs),
                 sizeof(UConverterToUnicodeArgs),
-                TRUE,
+                true,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
@@ -595,7 +595,7 @@ static void _reset(UConverter *converter, UConverterResetChoice choice,
         if(choice!=UCNV_RESET_TO_UNICODE && converter->fromUCharErrorBehaviour != UCNV_FROM_U_DEFAULT_CALLBACK) {
         if(choice!=UCNV_RESET_TO_UNICODE && converter->fromUCharErrorBehaviour != UCNV_FROM_U_DEFAULT_CALLBACK) {
             UConverterFromUnicodeArgs fromUArgs = {
             UConverterFromUnicodeArgs fromUArgs = {
                 sizeof(UConverterFromUnicodeArgs),
                 sizeof(UConverterFromUnicodeArgs),
-                TRUE,
+                true,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
                 NULL,
@@ -634,19 +634,19 @@ static void _reset(UConverter *converter, UConverterResetChoice choice,
 U_CAPI void  U_EXPORT2
 U_CAPI void  U_EXPORT2
 ucnv_reset(UConverter *converter)
 ucnv_reset(UConverter *converter)
 {
 {
-    _reset(converter, UCNV_RESET_BOTH, TRUE);
+    _reset(converter, UCNV_RESET_BOTH, true);
 }
 }
 
 
 U_CAPI void  U_EXPORT2
 U_CAPI void  U_EXPORT2
 ucnv_resetToUnicode(UConverter *converter)
 ucnv_resetToUnicode(UConverter *converter)
 {
 {
-    _reset(converter, UCNV_RESET_TO_UNICODE, TRUE);
+    _reset(converter, UCNV_RESET_TO_UNICODE, true);
 }
 }
 
 
 U_CAPI void  U_EXPORT2
 U_CAPI void  U_EXPORT2
 ucnv_resetFromUnicode(UConverter *converter)
 ucnv_resetFromUnicode(UConverter *converter)
 {
 {
-    _reset(converter, UCNV_RESET_FROM_UNICODE, TRUE);
+    _reset(converter, UCNV_RESET_FROM_UNICODE, true);
 }
 }
 
 
 U_CAPI int8_t   U_EXPORT2
 U_CAPI int8_t   U_EXPORT2
@@ -871,7 +871,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
 
 
         /* avoid compiler warnings - not otherwise necessary, and the values do not matter */
         /* avoid compiler warnings - not otherwise necessary, and the values do not matter */
         realSourceLimit=NULL;
         realSourceLimit=NULL;
-        realFlush=FALSE;
+        realFlush=false;
         realSourceIndex=0;
         realSourceIndex=0;
     } else {
     } else {
         /*
         /*
@@ -887,7 +887,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
         uprv_memcpy(replay, cnv->preFromU, -cnv->preFromULength*U_SIZEOF_UCHAR);
         uprv_memcpy(replay, cnv->preFromU, -cnv->preFromULength*U_SIZEOF_UCHAR);
         pArgs->source=replay;
         pArgs->source=replay;
         pArgs->sourceLimit=replay-cnv->preFromULength;
         pArgs->sourceLimit=replay-cnv->preFromULength;
-        pArgs->flush=FALSE;
+        pArgs->flush=false;
         sourceIndex=-1;
         sourceIndex=-1;
 
 
         cnv->preFromULength=0;
         cnv->preFromULength=0;
@@ -923,11 +923,11 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
                         cnv->fromUChar32==0);
                         cnv->fromUChar32==0);
         } else {
         } else {
             /* handle error from ucnv_convertEx() */
             /* handle error from ucnv_convertEx() */
-            converterSawEndOfInput=FALSE;
+            converterSawEndOfInput=false;
         }
         }
 
 
         /* no callback called yet for this iteration */
         /* no callback called yet for this iteration */
-        calledCallback=FALSE;
+        calledCallback=false;
 
 
         /* no sourceIndex adjustment for conversion, only for callback output */
         /* no sourceIndex adjustment for conversion, only for callback output */
         errorInputLength=0;
         errorInputLength=0;
@@ -976,7 +976,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
                     uprv_memcpy(replay, cnv->preFromU, -cnv->preFromULength*U_SIZEOF_UCHAR);
                     uprv_memcpy(replay, cnv->preFromU, -cnv->preFromULength*U_SIZEOF_UCHAR);
                     pArgs->source=replay;
                     pArgs->source=replay;
                     pArgs->sourceLimit=replay-cnv->preFromULength;
                     pArgs->sourceLimit=replay-cnv->preFromULength;
-                    pArgs->flush=FALSE;
+                    pArgs->flush=false;
                     if((sourceIndex+=cnv->preFromULength)<0) {
                     if((sourceIndex+=cnv->preFromULength)<0) {
                         sourceIndex=-1;
                         sourceIndex=-1;
                     }
                     }
@@ -1017,7 +1017,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
 
 
                     /* inject an error and continue with callback handling */
                     /* inject an error and continue with callback handling */
                     *err=U_TRUNCATED_CHAR_FOUND;
                     *err=U_TRUNCATED_CHAR_FOUND;
-                    calledCallback=FALSE; /* new error condition */
+                    calledCallback=false; /* new error condition */
                 } else {
                 } else {
                     /* input consumed */
                     /* input consumed */
                     if(pArgs->flush) {
                     if(pArgs->flush) {
@@ -1033,7 +1033,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
                         }
                         }
 
 
                         /* reset the converter without calling the callback function */
                         /* reset the converter without calling the callback function */
-                        _reset(cnv, UCNV_RESET_FROM_UNICODE, FALSE);
+                        _reset(cnv, UCNV_RESET_FROM_UNICODE, false);
                     }
                     }
 
 
                     /* done successfully */
                     /* done successfully */
@@ -1110,7 +1110,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
              * that a callback was called;
              * that a callback was called;
              * if the callback did not resolve the error, then we return
              * if the callback did not resolve the error, then we return
              */
              */
-            calledCallback=TRUE;
+            calledCallback=true;
         }
         }
     }
     }
 }
 }
@@ -1118,7 +1118,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
 /*
 /*
  * Output the fromUnicode overflow buffer.
  * Output the fromUnicode overflow buffer.
  * Call this function if(cnv->charErrorBufferLength>0).
  * Call this function if(cnv->charErrorBufferLength>0).
- * @return TRUE if overflow
+ * @return true if overflow
  */
  */
 static UBool
 static UBool
 ucnv_outputOverflowFromUnicode(UConverter *cnv,
 ucnv_outputOverflowFromUnicode(UConverter *cnv,
@@ -1154,7 +1154,7 @@ ucnv_outputOverflowFromUnicode(UConverter *cnv,
                 *pOffsets=offsets;
                 *pOffsets=offsets;
             }
             }
             *err=U_BUFFER_OVERFLOW_ERROR;
             *err=U_BUFFER_OVERFLOW_ERROR;
-            return TRUE;
+            return true;
         }
         }
 
 
         /* copy the overflow contents to the target */
         /* copy the overflow contents to the target */
@@ -1170,7 +1170,7 @@ ucnv_outputOverflowFromUnicode(UConverter *cnv,
     if(offsets!=NULL) {
     if(offsets!=NULL) {
         *pOffsets=offsets;
         *pOffsets=offsets;
     }
     }
-    return FALSE;
+    return false;
 }
 }
 
 
 U_CAPI void U_EXPORT2
 U_CAPI void U_EXPORT2
@@ -1316,7 +1316,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
 
 
         /* avoid compiler warnings - not otherwise necessary, and the values do not matter */
         /* avoid compiler warnings - not otherwise necessary, and the values do not matter */
         realSourceLimit=NULL;
         realSourceLimit=NULL;
-        realFlush=FALSE;
+        realFlush=false;
         realSourceIndex=0;
         realSourceIndex=0;
     } else {
     } else {
         /*
         /*
@@ -1332,7 +1332,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
         uprv_memcpy(replay, cnv->preToU, -cnv->preToULength);
         uprv_memcpy(replay, cnv->preToU, -cnv->preToULength);
         pArgs->source=replay;
         pArgs->source=replay;
         pArgs->sourceLimit=replay-cnv->preToULength;
         pArgs->sourceLimit=replay-cnv->preToULength;
-        pArgs->flush=FALSE;
+        pArgs->flush=false;
         sourceIndex=-1;
         sourceIndex=-1;
 
 
         cnv->preToULength=0;
         cnv->preToULength=0;
@@ -1368,11 +1368,11 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
                         cnv->toULength==0);
                         cnv->toULength==0);
         } else {
         } else {
             /* handle error from getNextUChar() or ucnv_convertEx() */
             /* handle error from getNextUChar() or ucnv_convertEx() */
-            converterSawEndOfInput=FALSE;
+            converterSawEndOfInput=false;
         }
         }
 
 
         /* no callback called yet for this iteration */
         /* no callback called yet for this iteration */
-        calledCallback=FALSE;
+        calledCallback=false;
 
 
         /* no sourceIndex adjustment for conversion, only for callback output */
         /* no sourceIndex adjustment for conversion, only for callback output */
         errorInputLength=0;
         errorInputLength=0;
@@ -1421,7 +1421,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
                     uprv_memcpy(replay, cnv->preToU, -cnv->preToULength);
                     uprv_memcpy(replay, cnv->preToU, -cnv->preToULength);
                     pArgs->source=replay;
                     pArgs->source=replay;
                     pArgs->sourceLimit=replay-cnv->preToULength;
                     pArgs->sourceLimit=replay-cnv->preToULength;
-                    pArgs->flush=FALSE;
+                    pArgs->flush=false;
                     if((sourceIndex+=cnv->preToULength)<0) {
                     if((sourceIndex+=cnv->preToULength)<0) {
                         sourceIndex=-1;
                         sourceIndex=-1;
                     }
                     }
@@ -1462,7 +1462,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
 
 
                     /* inject an error and continue with callback handling */
                     /* inject an error and continue with callback handling */
                     *err=U_TRUNCATED_CHAR_FOUND;
                     *err=U_TRUNCATED_CHAR_FOUND;
-                    calledCallback=FALSE; /* new error condition */
+                    calledCallback=false; /* new error condition */
                 } else {
                 } else {
                     /* input consumed */
                     /* input consumed */
                     if(pArgs->flush) {
                     if(pArgs->flush) {
@@ -1478,7 +1478,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
                         }
                         }
 
 
                         /* reset the converter without calling the callback function */
                         /* reset the converter without calling the callback function */
-                        _reset(cnv, UCNV_RESET_TO_UNICODE, FALSE);
+                        _reset(cnv, UCNV_RESET_TO_UNICODE, false);
                     }
                     }
 
 
                     /* done successfully */
                     /* done successfully */
@@ -1556,7 +1556,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
              * that a callback was called;
              * that a callback was called;
              * if the callback did not resolve the error, then we return
              * if the callback did not resolve the error, then we return
              */
              */
-            calledCallback=TRUE;
+            calledCallback=true;
         }
         }
     }
     }
 }
 }
@@ -1564,7 +1564,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
 /*
 /*
  * Output the toUnicode overflow buffer.
  * Output the toUnicode overflow buffer.
  * Call this function if(cnv->UCharErrorBufferLength>0).
  * Call this function if(cnv->UCharErrorBufferLength>0).
- * @return TRUE if overflow
+ * @return true if overflow
  */
  */
 static UBool
 static UBool
 ucnv_outputOverflowToUnicode(UConverter *cnv,
 ucnv_outputOverflowToUnicode(UConverter *cnv,
@@ -1600,7 +1600,7 @@ ucnv_outputOverflowToUnicode(UConverter *cnv,
                 *pOffsets=offsets;
                 *pOffsets=offsets;
             }
             }
             *err=U_BUFFER_OVERFLOW_ERROR;
             *err=U_BUFFER_OVERFLOW_ERROR;
-            return TRUE;
+            return true;
         }
         }
 
 
         /* copy the overflow contents to the target */
         /* copy the overflow contents to the target */
@@ -1616,7 +1616,7 @@ ucnv_outputOverflowToUnicode(UConverter *cnv,
     if(offsets!=NULL) {
     if(offsets!=NULL) {
         *pOffsets=offsets;
         *pOffsets=offsets;
     }
     }
-    return FALSE;
+    return false;
 }
 }
 
 
 U_CAPI void U_EXPORT2
 U_CAPI void U_EXPORT2
@@ -1754,7 +1754,7 @@ ucnv_fromUChars(UConverter *cnv,
         destLimit=dest+destCapacity;
         destLimit=dest+destCapacity;
 
 
         /* perform the conversion */
         /* perform the conversion */
-        ucnv_fromUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, TRUE, pErrorCode);
+        ucnv_fromUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, true, pErrorCode);
         destLength=(int32_t)(dest-originalDest);
         destLength=(int32_t)(dest-originalDest);
 
 
         /* if an overflow occurs, then get the preflighting length */
         /* if an overflow occurs, then get the preflighting length */
@@ -1765,7 +1765,7 @@ ucnv_fromUChars(UConverter *cnv,
             do {
             do {
                 dest=buffer;
                 dest=buffer;
                 *pErrorCode=U_ZERO_ERROR;
                 *pErrorCode=U_ZERO_ERROR;
-                ucnv_fromUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, TRUE, pErrorCode);
+                ucnv_fromUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, true, pErrorCode);
                 destLength+=(int32_t)(dest-buffer);
                 destLength+=(int32_t)(dest-buffer);
             } while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR);
             } while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR);
         }
         }
@@ -1810,7 +1810,7 @@ ucnv_toUChars(UConverter *cnv,
         destLimit=dest+destCapacity;
         destLimit=dest+destCapacity;
 
 
         /* perform the conversion */
         /* perform the conversion */
-        ucnv_toUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, TRUE, pErrorCode);
+        ucnv_toUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, true, pErrorCode);
         destLength=(int32_t)(dest-originalDest);
         destLength=(int32_t)(dest-originalDest);
 
 
         /* if an overflow occurs, then get the preflighting length */
         /* if an overflow occurs, then get the preflighting length */
@@ -1822,7 +1822,7 @@ ucnv_toUChars(UConverter *cnv,
             do {
             do {
                 dest=buffer;
                 dest=buffer;
                 *pErrorCode=U_ZERO_ERROR;
                 *pErrorCode=U_ZERO_ERROR;
-                ucnv_toUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, TRUE, pErrorCode);
+                ucnv_toUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, true, pErrorCode);
                 destLength+=(int32_t)(dest-buffer);
                 destLength+=(int32_t)(dest-buffer);
             }
             }
             while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR);
             while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR);
@@ -1907,15 +1907,15 @@ ucnv_getNextUChar(UConverter *cnv,
     }
     }
 
 
     /*
     /*
-     * flush==TRUE is implied for ucnv_getNextUChar()
+     * flush==true is implied for ucnv_getNextUChar()
      *
      *
      * do not simply return even if s==sourceLimit because the converter may
      * do not simply return even if s==sourceLimit because the converter may
-     * not have seen flush==TRUE before
+     * not have seen flush==true before
      */
      */
 
 
     /* prepare the converter arguments */
     /* prepare the converter arguments */
     args.converter=cnv;
     args.converter=cnv;
-    args.flush=TRUE;
+    args.flush=true;
     args.offsets=NULL;
     args.offsets=NULL;
     args.source=s;
     args.source=s;
     args.sourceLimit=sourceLimit;
     args.sourceLimit=sourceLimit;
@@ -1937,7 +1937,7 @@ ucnv_getNextUChar(UConverter *cnv,
             *source=s=args.source;
             *source=s=args.source;
             if(*err==U_INDEX_OUTOFBOUNDS_ERROR) {
             if(*err==U_INDEX_OUTOFBOUNDS_ERROR) {
                 /* reset the converter without calling the callback function */
                 /* reset the converter without calling the callback function */
-                _reset(cnv, UCNV_RESET_TO_UNICODE, FALSE);
+                _reset(cnv, UCNV_RESET_TO_UNICODE, false);
                 return 0xffff; /* no output */
                 return 0xffff; /* no output */
             } else if(U_SUCCESS(*err) && c>=0) {
             } else if(U_SUCCESS(*err) && c>=0) {
                 return c;
                 return c;
@@ -2176,7 +2176,7 @@ ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv,
 
 
     /* prepare the converter arguments */
     /* prepare the converter arguments */
     fromUArgs.converter=targetCnv;
     fromUArgs.converter=targetCnv;
-    fromUArgs.flush=FALSE;
+    fromUArgs.flush=false;
     fromUArgs.offsets=NULL;
     fromUArgs.offsets=NULL;
     fromUArgs.target=*target;
     fromUArgs.target=*target;
     fromUArgs.targetLimit=targetLimit;
     fromUArgs.targetLimit=targetLimit;
@@ -2331,8 +2331,8 @@ ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv,
                 /* input consumed */
                 /* input consumed */
                 if(flush) {
                 if(flush) {
                     /* reset the converters without calling the callback functions */
                     /* reset the converters without calling the callback functions */
-                    _reset(sourceCnv, UCNV_RESET_TO_UNICODE, FALSE);
-                    _reset(targetCnv, UCNV_RESET_FROM_UNICODE, FALSE);
+                    _reset(sourceCnv, UCNV_RESET_TO_UNICODE, false);
+                    _reset(targetCnv, UCNV_RESET_FROM_UNICODE, false);
                 }
                 }
 
 
                 /* done successfully */
                 /* done successfully */
@@ -2372,7 +2372,7 @@ ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv,
             sourceCnv->preToULength>=0 &&
             sourceCnv->preToULength>=0 &&
             sourceCnv->UCharErrorBufferLength==0
             sourceCnv->UCharErrorBufferLength==0
         ) {
         ) {
-            fromUArgs.flush=TRUE;
+            fromUArgs.flush=true;
         }
         }
     }
     }
 
 
@@ -2436,8 +2436,8 @@ ucnv_internalConvert(UConverter *outConverter, UConverter *inConverter,
                        &myTarget, targetLimit,
                        &myTarget, targetLimit,
                        &source, sourceLimit,
                        &source, sourceLimit,
                        pivotBuffer, &pivot, &pivot2, pivotBuffer+CHUNK_SIZE,
                        pivotBuffer, &pivot, &pivot2, pivotBuffer+CHUNK_SIZE,
-                       FALSE,
-                       TRUE,
+                       false,
+                       true,
                        pErrorCode);
                        pErrorCode);
         targetLength=(int32_t)(myTarget-target);
         targetLength=(int32_t)(myTarget-target);
     }
     }
@@ -2459,8 +2459,8 @@ ucnv_internalConvert(UConverter *outConverter, UConverter *inConverter,
                            &myTarget, targetLimit,
                            &myTarget, targetLimit,
                            &source, sourceLimit,
                            &source, sourceLimit,
                            pivotBuffer, &pivot, &pivot2, pivotBuffer+CHUNK_SIZE,
                            pivotBuffer, &pivot, &pivot2, pivotBuffer+CHUNK_SIZE,
-                           FALSE,
-                           TRUE,
+                           false,
+                           true,
                            pErrorCode);
                            pErrorCode);
             targetLength+=(int32_t)(myTarget-targetBuffer);
             targetLength+=(int32_t)(myTarget-targetBuffer);
         } while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR);
         } while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR);
@@ -2585,7 +2585,7 @@ ucnv_toAlgorithmic(UConverterType algorithmicType,
                    char *target, int32_t targetCapacity,
                    char *target, int32_t targetCapacity,
                    const char *source, int32_t sourceLength,
                    const char *source, int32_t sourceLength,
                    UErrorCode *pErrorCode) {
                    UErrorCode *pErrorCode) {
-    return ucnv_convertAlgorithmic(TRUE, algorithmicType, cnv,
+    return ucnv_convertAlgorithmic(true, algorithmicType, cnv,
                                    target, targetCapacity,
                                    target, targetCapacity,
                                    source, sourceLength,
                                    source, sourceLength,
                                    pErrorCode);
                                    pErrorCode);
@@ -2597,7 +2597,7 @@ ucnv_fromAlgorithmic(UConverter *cnv,
                      char *target, int32_t targetCapacity,
                      char *target, int32_t targetCapacity,
                      const char *source, int32_t sourceLength,
                      const char *source, int32_t sourceLength,
                      UErrorCode *pErrorCode) {
                      UErrorCode *pErrorCode) {
-    return ucnv_convertAlgorithmic(FALSE, algorithmicType, cnv,
+    return ucnv_convertAlgorithmic(false, algorithmicType, cnv,
                                    target, targetCapacity,
                                    target, targetCapacity,
                                    source, sourceLength,
                                    source, sourceLength,
                                    pErrorCode);
                                    pErrorCode);
@@ -2885,12 +2885,12 @@ ucnv_toUCountPending(const UConverter* cnv, UErrorCode* status){
 U_CAPI UBool U_EXPORT2
 U_CAPI UBool U_EXPORT2
 ucnv_isFixedWidth(UConverter *cnv, UErrorCode *status){
 ucnv_isFixedWidth(UConverter *cnv, UErrorCode *status){
     if (U_FAILURE(*status)) {
     if (U_FAILURE(*status)) {
-        return FALSE;
+        return false;
     }
     }
 
 
     if (cnv == NULL) {
     if (cnv == NULL) {
         *status = U_ILLEGAL_ARGUMENT_ERROR;
         *status = U_ILLEGAL_ARGUMENT_ERROR;
-        return FALSE;
+        return false;
     }
     }
 
 
     switch (ucnv_getType(cnv)) {
     switch (ucnv_getType(cnv)) {
@@ -2900,9 +2900,9 @@ ucnv_isFixedWidth(UConverter *cnv, UErrorCode *status){
         case UCNV_UTF32_LittleEndian:
         case UCNV_UTF32_LittleEndian:
         case UCNV_UTF32:
         case UCNV_UTF32:
         case UCNV_US_ASCII:
         case UCNV_US_ASCII:
-            return TRUE;
+            return true;
         default:
         default:
-            return FALSE;
+            return false;
     }
     }
 }
 }
 #endif
 #endif

+ 38 - 38
thirdparty/icu4c/common/ucnv2022.cpp

@@ -491,7 +491,7 @@ _ISO2022Open(UConverter *cnv, UConverterLoadArgs *pArgs, UErrorCode *errorCode){
 
 
         uprv_memset(myConverterData, 0, sizeof(UConverterDataISO2022));
         uprv_memset(myConverterData, 0, sizeof(UConverterDataISO2022));
         myConverterData->currentType = ASCII1;
         myConverterData->currentType = ASCII1;
-        cnv->fromUnicodeStatus =FALSE;
+        cnv->fromUnicodeStatus =false;
         if(pArgs->locale){
         if(pArgs->locale){
             uprv_strncpy(myLocale, pArgs->locale, sizeof(myLocale)-1);
             uprv_strncpy(myLocale, pArgs->locale, sizeof(myLocale)-1);
         }
         }
@@ -623,7 +623,7 @@ _ISO2022Open(UConverter *cnv, UConverterLoadArgs *pArgs, UErrorCode *errorCode){
 #endif  // !UCONFIG_ONLY_HTML_CONVERSION
 #endif  // !UCONFIG_ONLY_HTML_CONVERSION
         else{
         else{
 #ifdef U_ENABLE_GENERIC_ISO_2022
 #ifdef U_ENABLE_GENERIC_ISO_2022
-            myConverterData->isFirstBuffer = TRUE;
+            myConverterData->isFirstBuffer = true;
 
 
             /* append the UTF-8 escape sequence */
             /* append the UTF-8 escape sequence */
             cnv->charErrorBufferLength = 3;
             cnv->charErrorBufferLength = 3;
@@ -682,7 +682,7 @@ _ISO2022Reset(UConverter *converter, UConverterResetChoice choice) {
     if(choice<=UCNV_RESET_TO_UNICODE) {
     if(choice<=UCNV_RESET_TO_UNICODE) {
         uprv_memset(&myConverterData->toU2022State, 0, sizeof(ISO2022State));
         uprv_memset(&myConverterData->toU2022State, 0, sizeof(ISO2022State));
         myConverterData->key = 0;
         myConverterData->key = 0;
-        myConverterData->isEmptySegment = FALSE;
+        myConverterData->isEmptySegment = false;
     }
     }
     if(choice!=UCNV_RESET_TO_UNICODE) {
     if(choice!=UCNV_RESET_TO_UNICODE) {
         uprv_memset(&myConverterData->fromU2022State, 0, sizeof(ISO2022State));
         uprv_memset(&myConverterData->fromU2022State, 0, sizeof(ISO2022State));
@@ -690,7 +690,7 @@ _ISO2022Reset(UConverter *converter, UConverterResetChoice choice) {
 #ifdef U_ENABLE_GENERIC_ISO_2022
 #ifdef U_ENABLE_GENERIC_ISO_2022
     if(myConverterData->locale[0] == 0){
     if(myConverterData->locale[0] == 0){
         if(choice<=UCNV_RESET_TO_UNICODE) {
         if(choice<=UCNV_RESET_TO_UNICODE) {
-            myConverterData->isFirstBuffer = TRUE;
+            myConverterData->isFirstBuffer = true;
             myConverterData->key = 0;
             myConverterData->key = 0;
             if (converter->mode == UCNV_SO){
             if (converter->mode == UCNV_SO){
                 ucnv_close (myConverterData->currentConverter);
                 ucnv_close (myConverterData->currentConverter);
@@ -1285,7 +1285,7 @@ T_UConverter_toUnicode_ISO_2022_OFFSETS_LOGIC(UConverterToUnicodeArgs* args,
                 }
                 }
 
 
                 /* convert to before the ESC or until the end of the buffer */
                 /* convert to before the ESC or until the end of the buffer */
-                myData->isFirstBuffer=FALSE;
+                myData->isFirstBuffer=false;
                 sourceStart = args->source;
                 sourceStart = args->source;
                 myTargetStart = args->target;
                 myTargetStart = args->target;
                 args->converter = myData->currentConverter;
                 args->converter = myData->currentConverter;
@@ -1848,7 +1848,7 @@ getTrail:
                         len = 1;
                         len = 1;
                         cs = cs0;
                         cs = cs0;
                         g = 0;
                         g = 0;
-                        useFallback = FALSE;
+                        useFallback = false;
                     }
                     }
                     break;
                     break;
                 case JISX208:
                 case JISX208:
@@ -1864,7 +1864,7 @@ getTrail:
                             len = len2;
                             len = len2;
                             cs = cs0;
                             cs = cs0;
                             g = 0;
                             g = 0;
-                            useFallback = FALSE;
+                            useFallback = false;
                         }
                         }
                     } else if(len == 0 && useFallback &&
                     } else if(len == 0 && useFallback &&
                               (uint32_t)(sourceChar - HWKANA_START) <= (HWKANA_END - HWKANA_START)) {
                               (uint32_t)(sourceChar - HWKANA_START) <= (HWKANA_END - HWKANA_START)) {
@@ -1872,7 +1872,7 @@ getTrail:
                         len = -2;
                         len = -2;
                         cs = cs0;
                         cs = cs0;
                         g = 0;
                         g = 0;
-                        useFallback = FALSE;
+                        useFallback = false;
                     }
                     }
                     break;
                     break;
                 case ISO8859_7:
                 case ISO8859_7:
@@ -1886,7 +1886,7 @@ getTrail:
                         len = len2;
                         len = len2;
                         cs = cs0;
                         cs = cs0;
                         g = 2;
                         g = 2;
-                        useFallback = FALSE;
+                        useFallback = false;
                     }
                     }
                     break;
                     break;
                 default:
                 default:
@@ -1911,7 +1911,7 @@ getTrail:
                         len = len2;
                         len = len2;
                         cs = cs0;
                         cs = cs0;
                         g = 0;
                         g = 0;
-                        useFallback = FALSE;
+                        useFallback = false;
                     }
                     }
                     break;
                     break;
                 }
                 }
@@ -2121,7 +2121,7 @@ UConverter_toUnicode_ISO_2022_JP_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
                     continue;
                     continue;
                 } else {
                 } else {
                     /* only JIS7 uses SI/SO, not ISO-2022-JP-x */
                     /* only JIS7 uses SI/SO, not ISO-2022-JP-x */
-                    myData->isEmptySegment = FALSE;	/* reset this, we have a different error */
+                    myData->isEmptySegment = false;	/* reset this, we have a different error */
                     break;
                     break;
                 }
                 }
 
 
@@ -2133,7 +2133,7 @@ UConverter_toUnicode_ISO_2022_JP_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
                     continue;
                     continue;
                 } else {
                 } else {
                     /* only JIS7 uses SI/SO, not ISO-2022-JP-x */
                     /* only JIS7 uses SI/SO, not ISO-2022-JP-x */
-                    myData->isEmptySegment = FALSE;	/* reset this, we have a different error */
+                    myData->isEmptySegment = false;	/* reset this, we have a different error */
                     break;
                     break;
                 }
                 }
 
 
@@ -2159,12 +2159,12 @@ escape:
                 if(U_FAILURE(*err)){
                 if(U_FAILURE(*err)){
                     args->target = myTarget;
                     args->target = myTarget;
                     args->source = mySource;
                     args->source = mySource;
-                    myData->isEmptySegment = FALSE;	/* Reset to avoid future spurious errors */
+                    myData->isEmptySegment = false;	/* Reset to avoid future spurious errors */
                     return;
                     return;
                 }
                 }
                 /* If we successfully completed an escape sequence, we begin a new segment, empty so far */
                 /* If we successfully completed an escape sequence, we begin a new segment, empty so far */
                 if(myData->key==0) {
                 if(myData->key==0) {
-                    myData->isEmptySegment = TRUE;
+                    myData->isEmptySegment = true;
                 }
                 }
                 continue;
                 continue;
 
 
@@ -2181,7 +2181,7 @@ escape:
                 U_FALLTHROUGH;
                 U_FALLTHROUGH;
             default:
             default:
                 /* convert one or two bytes */
                 /* convert one or two bytes */
-                myData->isEmptySegment = FALSE;
+                myData->isEmptySegment = false;
                 cs = (StateEnum)pToU2022State->cs[pToU2022State->g];
                 cs = (StateEnum)pToU2022State->cs[pToU2022State->g];
                 if( (uint8_t)(mySourceChar - 0xa1) <= (0xdf - 0xa1) && myData->version==4 &&
                 if( (uint8_t)(mySourceChar - 0xa1) <= (0xdf - 0xa1) && myData->version==4 &&
                     !IS_JP_DBCS(cs)
                     !IS_JP_DBCS(cs)
@@ -2262,7 +2262,7 @@ getTrailByte:
                                 tempBuf[0] = (char)(tmpSourceChar >> 8);
                                 tempBuf[0] = (char)(tmpSourceChar >> 8);
                                 tempBuf[1] = (char)(tmpSourceChar);
                                 tempBuf[1] = (char)(tmpSourceChar);
                             }
                             }
-                            targetUniChar = ucnv_MBCSSimpleGetNextUChar(myData->myConverterArray[cs], tempBuf, 2, FALSE);
+                            targetUniChar = ucnv_MBCSSimpleGetNextUChar(myData->myConverterArray[cs], tempBuf, 2, false);
                         } else if (!(trailIsOk || IS_2022_CONTROL(trailByte))) {
                         } else if (!(trailIsOk || IS_2022_CONTROL(trailByte))) {
                             /* report a pair of illegal bytes if the second byte is not a DBCS starter */
                             /* report a pair of illegal bytes if the second byte is not a DBCS starter */
                             ++mySource;
                             ++mySource;
@@ -2534,7 +2534,7 @@ getTrail:
         int32_t sourceIndex;
         int32_t sourceIndex;
 
 
         /* we are switching to ASCII */
         /* we are switching to ASCII */
-        isTargetByteDBCS=FALSE;
+        isTargetByteDBCS=false;
 
 
         /* get the source index of the last input character */
         /* get the source index of the last input character */
         /*
         /*
@@ -2712,7 +2712,7 @@ UConverter_toUnicode_ISO_2022_KR_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
             if(mySourceChar==UCNV_SI){
             if(mySourceChar==UCNV_SI){
                 myData->toU2022State.g = 0;
                 myData->toU2022State.g = 0;
                 if (myData->isEmptySegment) {
                 if (myData->isEmptySegment) {
-                    myData->isEmptySegment = FALSE;	/* we are handling it, reset to avoid future spurious errors */
+                    myData->isEmptySegment = false;	/* we are handling it, reset to avoid future spurious errors */
                     *err = U_ILLEGAL_ESCAPE_SEQUENCE;
                     *err = U_ILLEGAL_ESCAPE_SEQUENCE;
                     args->converter->toUCallbackReason = UCNV_IRREGULAR;
                     args->converter->toUCallbackReason = UCNV_IRREGULAR;
                     args->converter->toUBytes[0] = (uint8_t)mySourceChar;
                     args->converter->toUBytes[0] = (uint8_t)mySourceChar;
@@ -2725,13 +2725,13 @@ UConverter_toUnicode_ISO_2022_KR_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
                 continue;
                 continue;
             }else if(mySourceChar==UCNV_SO){
             }else if(mySourceChar==UCNV_SO){
                 myData->toU2022State.g = 1;
                 myData->toU2022State.g = 1;
-                myData->isEmptySegment = TRUE;	/* Begin a new segment, empty so far */
+                myData->isEmptySegment = true;	/* Begin a new segment, empty so far */
                 /*consume the source */
                 /*consume the source */
                 continue;
                 continue;
             }else if(mySourceChar==ESC_2022){
             }else if(mySourceChar==ESC_2022){
                 mySource--;
                 mySource--;
 escape:
 escape:
-                myData->isEmptySegment = FALSE;	/* Any invalid ESC sequences will be detected separately, so just reset this */
+                myData->isEmptySegment = false;	/* Any invalid ESC sequences will be detected separately, so just reset this */
                 changeState_2022(args->converter,&(mySource),
                 changeState_2022(args->converter,&(mySource),
                                 mySourceLimit, ISO_2022_KR, err);
                                 mySourceLimit, ISO_2022_KR, err);
                 if(U_FAILURE(*err)){
                 if(U_FAILURE(*err)){
@@ -2742,7 +2742,7 @@ escape:
                 continue;
                 continue;
             }
             }
 
 
-            myData->isEmptySegment = FALSE;	/* Any invalid char errors will be detected separately, so just reset this */
+            myData->isEmptySegment = false;	/* Any invalid char errors will be detected separately, so just reset this */
             if(myData->toU2022State.g == 1) {
             if(myData->toU2022State.g == 1) {
                 if(mySource < mySourceLimit) {
                 if(mySource < mySourceLimit) {
                     int leadIsOk, trailIsOk;
                     int leadIsOk, trailIsOk;
@@ -3092,7 +3092,7 @@ getTrail:
                                     len = 2;
                                     len = 2;
                                 } else {
                                 } else {
                                     len = -2;
                                     len = -2;
-                                    useFallback = FALSE;
+                                    useFallback = false;
                                 }
                                 }
                                 if(cs == CNS_11643_1) {
                                 if(cs == CNS_11643_1) {
                                     g = 1;
                                     g = 1;
@@ -3119,7 +3119,7 @@ getTrail:
                                 len = len2;
                                 len = len2;
                                 cs = cs0;
                                 cs = cs0;
                                 g = 1;
                                 g = 1;
-                                useFallback = FALSE;
+                                useFallback = false;
                             }
                             }
                         }
                         }
                     }
                     }
@@ -3301,7 +3301,7 @@ UConverter_toUnicode_ISO_2022_CN_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
             case UCNV_SI:
             case UCNV_SI:
                 pToU2022State->g=0;
                 pToU2022State->g=0;
                 if (myData->isEmptySegment) {
                 if (myData->isEmptySegment) {
-                    myData->isEmptySegment = FALSE;	/* we are handling it, reset to avoid future spurious errors */
+                    myData->isEmptySegment = false;	/* we are handling it, reset to avoid future spurious errors */
                     *err = U_ILLEGAL_ESCAPE_SEQUENCE;
                     *err = U_ILLEGAL_ESCAPE_SEQUENCE;
                     args->converter->toUCallbackReason = UCNV_IRREGULAR;
                     args->converter->toUCallbackReason = UCNV_IRREGULAR;
                     args->converter->toUBytes[0] = static_cast<uint8_t>(mySourceChar);
                     args->converter->toUBytes[0] = static_cast<uint8_t>(mySourceChar);
@@ -3315,11 +3315,11 @@ UConverter_toUnicode_ISO_2022_CN_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
             case UCNV_SO:
             case UCNV_SO:
                 if(pToU2022State->cs[1] != 0) {
                 if(pToU2022State->cs[1] != 0) {
                     pToU2022State->g=1;
                     pToU2022State->g=1;
-                    myData->isEmptySegment = TRUE;	/* Begin a new segment, empty so far */
+                    myData->isEmptySegment = true;	/* Begin a new segment, empty so far */
                     continue;
                     continue;
                 } else {
                 } else {
                     /* illegal to have SO before a matching designator */
                     /* illegal to have SO before a matching designator */
-                    myData->isEmptySegment = FALSE;	/* Handling a different error, reset this to avoid future spurious errs */
+                    myData->isEmptySegment = false;	/* Handling a different error, reset this to avoid future spurious errs */
                     break;
                     break;
                 }
                 }
 
 
@@ -3345,7 +3345,7 @@ escape:
                 if(U_FAILURE(*err)){
                 if(U_FAILURE(*err)){
                     args->target = myTarget;
                     args->target = myTarget;
                     args->source = mySource;
                     args->source = mySource;
-                    myData->isEmptySegment = FALSE;	/* Reset to avoid future spurious errors */
+                    myData->isEmptySegment = false;	/* Reset to avoid future spurious errors */
                     return;
                     return;
                 }
                 }
                 continue;
                 continue;
@@ -3358,7 +3358,7 @@ escape:
                 U_FALLTHROUGH;
                 U_FALLTHROUGH;
             default:
             default:
                 /* convert one or two bytes */
                 /* convert one or two bytes */
-                myData->isEmptySegment = FALSE;
+                myData->isEmptySegment = false;
                 if(pToU2022State->g != 0) {
                 if(pToU2022State->g != 0) {
                     if(mySource < mySourceLimit) {
                     if(mySource < mySourceLimit) {
                         UConverterSharedData *cnv;
                         UConverterSharedData *cnv;
@@ -3397,7 +3397,7 @@ getTrailByte:
                                 tempBuf[1] = (char) trailByte;
                                 tempBuf[1] = (char) trailByte;
                                 tempBufLen = 2;
                                 tempBufLen = 2;
                             }
                             }
-                            targetUniChar = ucnv_MBCSSimpleGetNextUChar(cnv, tempBuf, tempBufLen, FALSE);
+                            targetUniChar = ucnv_MBCSSimpleGetNextUChar(cnv, tempBuf, tempBufLen, false);
                             mySourceChar = (mySourceChar << 8) | trailByte;
                             mySourceChar = (mySourceChar << 8) | trailByte;
                         } else if (!(trailIsOk || IS_2022_CONTROL(trailByte))) {
                         } else if (!(trailIsOk || IS_2022_CONTROL(trailByte))) {
                             /* report a pair of illegal bytes if the second byte is not a DBCS starter */
                             /* report a pair of illegal bytes if the second byte is not a DBCS starter */
@@ -3609,7 +3609,7 @@ _ISO_2022_SafeClone(
 
 
     uprv_memcpy(&localClone->mydata, cnvData, sizeof(UConverterDataISO2022));
     uprv_memcpy(&localClone->mydata, cnvData, sizeof(UConverterDataISO2022));
     localClone->cnv.extraInfo = &localClone->mydata; /* set pointer to extra data */
     localClone->cnv.extraInfo = &localClone->mydata; /* set pointer to extra data */
-    localClone->cnv.isExtraLocal = TRUE;
+    localClone->cnv.isExtraLocal = true;
 
 
     /* share the subconverters */
     /* share the subconverters */
 
 
@@ -3808,8 +3808,8 @@ static const UConverterStaticData _ISO2022StaticData={
     3, /* max 3 bytes per UChar from UTF-8 (4 bytes from surrogate _pair_) */
     3, /* max 3 bytes per UChar from UTF-8 (4 bytes from surrogate _pair_) */
     { 0x1a, 0, 0, 0 },
     { 0x1a, 0, 0, 0 },
     1,
     1,
-    FALSE,
-    FALSE,
+    false,
+    false,
     0,
     0,
     0,
     0,
     { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
     { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
@@ -3853,8 +3853,8 @@ static const UConverterStaticData _ISO2022JPStaticData={
     6, /* max 6 bytes per UChar: 4-byte escape sequence + DBCS */
     6, /* max 6 bytes per UChar: 4-byte escape sequence + DBCS */
     { 0x1a, 0, 0, 0 },
     { 0x1a, 0, 0, 0 },
     1,
     1,
-    FALSE,
-    FALSE,
+    false,
+    false,
     0,
     0,
     0,
     0,
     { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
     { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
@@ -3904,8 +3904,8 @@ static const UConverterStaticData _ISO2022KRStaticData={
     8, /* max 8 bytes per UChar */
     8, /* max 8 bytes per UChar */
     { 0x1a, 0, 0, 0 },
     { 0x1a, 0, 0, 0 },
     1,
     1,
-    FALSE,
-    FALSE,
+    false,
+    false,
     0,
     0,
     0,
     0,
     { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
     { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
@@ -3955,8 +3955,8 @@ static const UConverterStaticData _ISO2022CNStaticData={
     8, /* max 8 bytes per UChar: 4-byte CNS designator + 2 bytes for SS2/SS3 + DBCS */
     8, /* max 8 bytes per UChar: 4-byte CNS designator + 2 bytes for SS2/SS3 + DBCS */
     { 0x1a, 0, 0, 0 },
     { 0x1a, 0, 0, 0 },
     1,
     1,
-    FALSE,
-    FALSE,
+    false,
+    false,
     0,
     0,
     0,
     0,
     { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
     { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */

+ 25 - 25
thirdparty/icu4c/common/ucnv_bld.cpp

@@ -200,7 +200,7 @@ static icu::UMutex cnvCacheMutex;
 
 
 static const char **gAvailableConverters = NULL;
 static const char **gAvailableConverters = NULL;
 static uint16_t gAvailableConverterCount = 0;
 static uint16_t gAvailableConverterCount = 0;
-static icu::UInitOnce gAvailableConvertersInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce gAvailableConvertersInitOnce {};
 
 
 #if !U_CHARSET_IS_UTF8
 #if !U_CHARSET_IS_UTF8
 
 
@@ -254,7 +254,7 @@ static UBool U_CALLCONV ucnv_cleanup(void) {
 #if !U_CHARSET_IS_UTF8
 #if !U_CHARSET_IS_UTF8
     gDefaultConverterName = NULL;
     gDefaultConverterName = NULL;
     gDefaultConverterNameBuffer[0] = 0;
     gDefaultConverterNameBuffer[0] = 0;
-    gDefaultConverterContainsOption = FALSE;
+    gDefaultConverterContainsOption = false;
     gDefaultAlgorithmicSharedData = NULL;
     gDefaultAlgorithmicSharedData = NULL;
 #endif
 #endif
 
 
@@ -318,7 +318,7 @@ ucnv_data_unFlattenClone(UConverterLoadArgs *pArgs, UDataMemory *pData, UErrorCo
 
 
     data->staticData = source;
     data->staticData = source;
 
 
-    data->sharedDataCached = FALSE;
+    data->sharedDataCached = false;
 
 
     /* fill in fields from the loaded data */
     /* fill in fields from the loaded data */
     data->dataMemory = (void*)pData; /* for future use */
     data->dataMemory = (void*)pData; /* for future use */
@@ -462,7 +462,7 @@ ucnv_shareConverterData(UConverterSharedData * data)
     */
     */
 
 
     /* Mark it shared */
     /* Mark it shared */
-    data->sharedDataCached = TRUE;
+    data->sharedDataCached = true;
 
 
     uhash_put(SHARED_DATA_HASHTABLE,
     uhash_put(SHARED_DATA_HASHTABLE,
             (void*) data->staticData->name, /* Okay to cast away const as long as
             (void*) data->staticData->name, /* Okay to cast away const as long as
@@ -502,11 +502,11 @@ ucnv_getSharedConverterData(const char *name)
  */
  */
 /* Deletes (frees) the Shared data it's passed. first it checks the referenceCounter to
 /* Deletes (frees) the Shared data it's passed. first it checks the referenceCounter to
  * see if anyone is using it, if not it frees all the memory stemming from sharedConverterData and
  * see if anyone is using it, if not it frees all the memory stemming from sharedConverterData and
- * returns TRUE,
- * otherwise returns FALSE
+ * returns true,
+ * otherwise returns false
  * @param sharedConverterData The shared data
  * @param sharedConverterData The shared data
  * @return if not it frees all the memory stemming from sharedConverterData and
  * @return if not it frees all the memory stemming from sharedConverterData and
- * returns TRUE, otherwise returns FALSE
+ * returns true, otherwise returns false
  */
  */
 static UBool
 static UBool
 ucnv_deleteSharedConverterData(UConverterSharedData * deadSharedData)
 ucnv_deleteSharedConverterData(UConverterSharedData * deadSharedData)
@@ -515,8 +515,8 @@ ucnv_deleteSharedConverterData(UConverterSharedData * deadSharedData)
     UTRACE_DATA2(UTRACE_OPEN_CLOSE, "unload converter %s shared data %p", deadSharedData->staticData->name, deadSharedData);
     UTRACE_DATA2(UTRACE_OPEN_CLOSE, "unload converter %s shared data %p", deadSharedData->staticData->name, deadSharedData);
 
 
     if (deadSharedData->referenceCounter > 0) {
     if (deadSharedData->referenceCounter > 0) {
-        UTRACE_EXIT_VALUE((int32_t)FALSE);
-        return FALSE;
+        UTRACE_EXIT_VALUE((int32_t)false);
+        return false;
     }
     }
 
 
     if (deadSharedData->impl->unload != NULL) {
     if (deadSharedData->impl->unload != NULL) {
@@ -531,8 +531,8 @@ ucnv_deleteSharedConverterData(UConverterSharedData * deadSharedData)
 
 
     uprv_free(deadSharedData);
     uprv_free(deadSharedData);
 
 
-    UTRACE_EXIT_VALUE((int32_t)TRUE);
-    return TRUE;
+    UTRACE_EXIT_VALUE((int32_t)true);
+    return true;
 }
 }
 
 
 /**
 /**
@@ -589,7 +589,7 @@ ucnv_unload(UConverterSharedData *sharedData) {
             sharedData->referenceCounter--;
             sharedData->referenceCounter--;
         }
         }
 
 
-        if((sharedData->referenceCounter <= 0)&&(sharedData->sharedDataCached == FALSE)) {
+        if((sharedData->referenceCounter <= 0)&&(sharedData->sharedDataCached == false)) {
             ucnv_deleteSharedConverterData(sharedData);
             ucnv_deleteSharedConverterData(sharedData);
         }
         }
     }
     }
@@ -703,10 +703,10 @@ parseConverterOptions(const char *inName,
 
 
 /*Logic determines if the converter is Algorithmic AND/OR cached
 /*Logic determines if the converter is Algorithmic AND/OR cached
  *depending on that:
  *depending on that:
- * -we either go to get data from disk and cache it (Data=TRUE, Cached=False)
- * -Get it from a Hashtable (Data=X, Cached=TRUE)
- * -Call dataConverter initializer (Data=TRUE, Cached=TRUE)
- * -Call AlgorithmicConverter initializer (Data=FALSE, Cached=TRUE)
+ * -we either go to get data from disk and cache it (Data=true, Cached=false)
+ * -Get it from a Hashtable (Data=X, Cached=true)
+ * -Call dataConverter initializer (Data=true, Cached=true)
+ * -Call AlgorithmicConverter initializer (Data=false, Cached=true)
  */
  */
 U_CFUNC UConverterSharedData *
 U_CFUNC UConverterSharedData *
 ucnv_loadSharedData(const char *converterName,
 ucnv_loadSharedData(const char *converterName,
@@ -717,8 +717,8 @@ ucnv_loadSharedData(const char *converterName,
     UConverterLoadArgs stackArgs;
     UConverterLoadArgs stackArgs;
     UConverterSharedData *mySharedConverterData = NULL;
     UConverterSharedData *mySharedConverterData = NULL;
     UErrorCode internalErrorCode = U_ZERO_ERROR;
     UErrorCode internalErrorCode = U_ZERO_ERROR;
-    UBool mayContainOption = TRUE;
-    UBool checkForAlgorithmic = TRUE;
+    UBool mayContainOption = true;
+    UBool checkForAlgorithmic = true;
 
 
     if (U_FAILURE (*err)) {
     if (U_FAILURE (*err)) {
         return NULL;
         return NULL;
@@ -762,7 +762,7 @@ ucnv_loadSharedData(const char *converterName,
             return NULL;
             return NULL;
         }
         }
         mySharedConverterData = (UConverterSharedData *)gDefaultAlgorithmicSharedData;
         mySharedConverterData = (UConverterSharedData *)gDefaultAlgorithmicSharedData;
-        checkForAlgorithmic = FALSE;
+        checkForAlgorithmic = false;
         mayContainOption = gDefaultConverterContainsOption;
         mayContainOption = gDefaultConverterContainsOption;
         /* the default converter name is already canonical */
         /* the default converter name is already canonical */
 #endif
 #endif
@@ -866,7 +866,7 @@ ucnv_canCreateConverter(const char *converterName, UErrorCode *err) {
     if(U_SUCCESS(*err)) {
     if(U_SUCCESS(*err)) {
         UTRACE_DATA1(UTRACE_OPEN_CLOSE, "test if can open converter %s", converterName);
         UTRACE_DATA1(UTRACE_OPEN_CLOSE, "test if can open converter %s", converterName);
 
 
-        stackArgs.onlyTestIsLoadable=TRUE;
+        stackArgs.onlyTestIsLoadable=true;
         mySharedConverterData = ucnv_loadSharedData(converterName, &stackPieces, &stackArgs, err);
         mySharedConverterData = ucnv_loadSharedData(converterName, &stackPieces, &stackArgs, err);
         ucnv_createConverterFromSharedData(
         ucnv_createConverterFromSharedData(
             &myUConverter, mySharedConverterData,
             &myUConverter, mySharedConverterData,
@@ -989,15 +989,15 @@ ucnv_createConverterFromSharedData(UConverter *myUConverter,
             ucnv_unloadSharedDataIfReady(mySharedConverterData);
             ucnv_unloadSharedDataIfReady(mySharedConverterData);
             return NULL;
             return NULL;
         }
         }
-        isCopyLocal = FALSE;
+        isCopyLocal = false;
     } else {
     } else {
-        isCopyLocal = TRUE;
+        isCopyLocal = true;
     }
     }
 
 
     /* initialize the converter */
     /* initialize the converter */
     uprv_memset(myUConverter, 0, sizeof(UConverter));
     uprv_memset(myUConverter, 0, sizeof(UConverter));
     myUConverter->isCopyLocal = isCopyLocal;
     myUConverter->isCopyLocal = isCopyLocal;
-    /*myUConverter->isExtraLocal = FALSE;*/ /* Set by the memset call */
+    /*myUConverter->isExtraLocal = false;*/ /* Set by the memset call */
     myUConverter->sharedData = mySharedConverterData;
     myUConverter->sharedData = mySharedConverterData;
     myUConverter->options = pArgs->options;
     myUConverter->options = pArgs->options;
     if(!pArgs->onlyTestIsLoadable) {
     if(!pArgs->onlyTestIsLoadable) {
@@ -1083,7 +1083,7 @@ ucnv_flushCache ()
                 UCNV_DEBUG_LOG("del",mySharedData->staticData->name,mySharedData);
                 UCNV_DEBUG_LOG("del",mySharedData->staticData->name,mySharedData);
 
 
                 uhash_removeElement(SHARED_DATA_HASHTABLE, e);
                 uhash_removeElement(SHARED_DATA_HASHTABLE, e);
-                mySharedData->sharedDataCached = FALSE;
+                mySharedData->sharedDataCached = false;
                 ucnv_deleteSharedConverterData (mySharedData);
                 ucnv_deleteSharedConverterData (mySharedData);
             } else {
             } else {
                 ++remaining;
                 ++remaining;
@@ -1342,7 +1342,7 @@ ucnv_swap(const UDataSwapper *ds,
     _MBCSHeader *outMBCSHeader;
     _MBCSHeader *outMBCSHeader;
     _MBCSHeader mbcsHeader;
     _MBCSHeader mbcsHeader;
     uint32_t mbcsHeaderLength;
     uint32_t mbcsHeaderLength;
-    UBool noFromU=FALSE;
+    UBool noFromU=false;
 
 
     uint8_t outputType;
     uint8_t outputType;
 
 

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio