pango 3.2.7-x64-mingw32 → 3.2.8-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +10 -7
  3. data/lib/2.2/pango.so +0 -0
  4. data/lib/2.3/pango.so +0 -0
  5. data/lib/2.4/pango.so +0 -0
  6. data/lib/2.5/pango.so +0 -0
  7. data/pango.gemspec +2 -0
  8. data/vendor/local/bin/derb.exe +0 -0
  9. data/vendor/local/bin/escapesrc.exe +0 -0
  10. data/vendor/local/bin/fribidi.exe +0 -0
  11. data/vendor/local/bin/genbrk.exe +0 -0
  12. data/vendor/local/bin/genccode.exe +0 -0
  13. data/vendor/local/bin/gencfu.exe +0 -0
  14. data/vendor/local/bin/gencmn.exe +0 -0
  15. data/vendor/local/bin/gencnval.exe +0 -0
  16. data/vendor/local/bin/gendict.exe +0 -0
  17. data/vendor/local/bin/gennorm2.exe +0 -0
  18. data/vendor/local/bin/genrb.exe +0 -0
  19. data/vendor/local/bin/gensprep.exe +0 -0
  20. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  21. data/vendor/local/bin/hb-shape.exe +0 -0
  22. data/vendor/local/bin/hb-subset.exe +0 -0
  23. data/vendor/local/bin/hb-view.exe +0 -0
  24. data/vendor/local/bin/icu-config +6 -6
  25. data/vendor/local/bin/icuinfo.exe +0 -0
  26. data/vendor/local/bin/icupkg.exe +0 -0
  27. data/vendor/local/bin/libfribidi-0.dll +0 -0
  28. data/vendor/local/bin/libgraphene-1.0-0.dll +0 -0
  29. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  30. data/vendor/local/bin/libharfbuzz-subset-0.dll +0 -0
  31. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  32. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  33. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  34. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  35. data/vendor/local/bin/makeconv.exe +0 -0
  36. data/vendor/local/{libexec/installed-tests/graphene-1.0/quad.exe → bin/pango-list.exe} +0 -0
  37. data/vendor/local/bin/pango-view.exe +0 -0
  38. data/vendor/local/bin/pkgdata.exe +0 -0
  39. data/vendor/local/bin/uconv.exe +0 -0
  40. data/vendor/local/include/fribidi/fribidi-config.h +2 -2
  41. data/vendor/local/include/graphene-1.0/graphene-macros.h +1 -1
  42. data/vendor/local/include/graphene-1.0/graphene-matrix.h +1 -1
  43. data/vendor/local/include/graphene-1.0/graphene-vec2.h +1 -1
  44. data/vendor/local/include/graphene-1.0/graphene-vec3.h +1 -1
  45. data/vendor/local/include/graphene-1.0/graphene-vec4.h +1 -1
  46. data/vendor/local/include/graphene-1.0/graphene-version.h +2 -2
  47. data/vendor/local/include/harfbuzz/hb-ot-layout.h +13 -0
  48. data/vendor/local/include/harfbuzz/hb-set.h +4 -0
  49. data/vendor/local/include/harfbuzz/hb-subset-plan.hh +1 -1
  50. data/vendor/local/include/harfbuzz/hb-subset-private.hh +1 -0
  51. data/vendor/local/include/harfbuzz/hb-subset.h +3 -0
  52. data/vendor/local/include/harfbuzz/hb-version.h +2 -2
  53. data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
  54. data/vendor/local/include/unicode/brkiter.h +1 -1
  55. data/vendor/local/include/unicode/bytestriebuilder.h +1 -1
  56. data/vendor/local/include/unicode/caniter.h +2 -2
  57. data/vendor/local/include/unicode/compactdecimalformat.h +17 -250
  58. data/vendor/local/include/unicode/currunit.h +3 -2
  59. data/vendor/local/include/unicode/dcfmtsym.h +8 -1
  60. data/vendor/local/include/unicode/decimfmt.h +301 -439
  61. data/vendor/local/include/unicode/docmain.h +1 -1
  62. data/vendor/local/include/unicode/edits.h +129 -21
  63. data/vendor/local/include/unicode/fmtable.h +14 -21
  64. data/vendor/local/include/unicode/fpositer.h +0 -8
  65. data/vendor/local/include/unicode/measunit.h +0 -8
  66. data/vendor/local/include/unicode/nounit.h +6 -6
  67. data/vendor/local/include/unicode/numberformatter.h +1005 -553
  68. data/vendor/local/include/unicode/numfmt.h +10 -10
  69. data/vendor/local/include/unicode/platform.h +0 -14
  70. data/vendor/local/include/unicode/plurrule.h +0 -21
  71. data/vendor/local/include/unicode/rbbi.h +9 -15
  72. data/vendor/local/include/unicode/rbnf.h +2 -2
  73. data/vendor/local/include/unicode/scientificnumberformatter.h +0 -5
  74. data/vendor/local/include/unicode/smpdtfmt.h +33 -6
  75. data/vendor/local/include/unicode/timezone.h +2 -0
  76. data/vendor/local/include/unicode/uchar.h +42 -3
  77. data/vendor/local/include/unicode/unistr.h +3 -3
  78. data/vendor/local/include/unicode/unum.h +26 -5
  79. data/vendor/local/include/unicode/unumberformatter.h +717 -0
  80. data/vendor/local/include/unicode/urename.h +13 -0
  81. data/vendor/local/include/unicode/uscript.h +16 -1
  82. data/vendor/local/include/unicode/uspoof.h +24 -1
  83. data/vendor/local/include/unicode/utypes.h +4 -1
  84. data/vendor/local/include/unicode/uvernum.h +5 -5
  85. data/vendor/local/lib/cmake/harfbuzz/harfbuzz-config.cmake +1 -1
  86. data/vendor/local/lib/graphene-1.0/include/graphene-config.h +3 -1
  87. data/vendor/local/lib/icu/{61.1 → 62.1}/Makefile.inc +6 -6
  88. data/vendor/local/lib/icu/{61.1 → 62.1}/pkgdata.inc +3 -3
  89. data/vendor/local/lib/icu/Makefile.inc +6 -6
  90. data/vendor/local/lib/icu/pkgdata.inc +3 -3
  91. data/vendor/local/lib/icudt.dll +0 -0
  92. data/vendor/local/lib/{icudt61.dll → icudt62.dll} +0 -0
  93. data/vendor/local/lib/icuin.dll +0 -0
  94. data/vendor/local/lib/icuin62.dll +0 -0
  95. data/vendor/local/lib/icuio.dll +0 -0
  96. data/vendor/local/lib/{icuio61.dll → icuio62.dll} +0 -0
  97. data/vendor/local/lib/icutest.dll +0 -0
  98. data/vendor/local/lib/{icutest61.dll → icutest62.dll} +0 -0
  99. data/vendor/local/lib/icutu.dll +0 -0
  100. data/vendor/local/lib/{icutu61.dll → icutu62.dll} +0 -0
  101. data/vendor/local/lib/icuuc.dll +0 -0
  102. data/vendor/local/lib/{icuuc61.dll → icuuc62.dll} +0 -0
  103. data/vendor/local/lib/libfribidi.dll.a +0 -0
  104. data/vendor/local/lib/libgraphene-1.0.dll.a +0 -0
  105. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  106. data/vendor/local/lib/libharfbuzz-icu.la +2 -2
  107. data/vendor/local/lib/libharfbuzz-subset.dll.a +0 -0
  108. data/vendor/local/lib/libharfbuzz-subset.la +2 -2
  109. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  110. data/vendor/local/lib/libharfbuzz.la +2 -2
  111. data/vendor/local/lib/libicudt.dll.a +0 -0
  112. data/vendor/local/lib/libicuin.dll.a +0 -0
  113. data/vendor/local/lib/libicuio.dll.a +0 -0
  114. data/vendor/local/lib/libicutest.dll.a +0 -0
  115. data/vendor/local/lib/libicutu.dll.a +0 -0
  116. data/vendor/local/lib/libicuuc.dll.a +0 -0
  117. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  118. data/vendor/local/lib/libpango-1.0.la +2 -2
  119. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  120. data/vendor/local/lib/libpangocairo-1.0.la +2 -2
  121. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  122. data/vendor/local/lib/libpangoft2-1.0.la +2 -2
  123. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  124. data/vendor/local/lib/libpangowin32-1.0.la +2 -2
  125. data/vendor/local/lib/pkgconfig/fribidi.pc +1 -1
  126. data/vendor/local/lib/pkgconfig/graphene-1.0.pc +7 -11
  127. data/vendor/local/lib/pkgconfig/graphene-gobject-1.0.pc +6 -12
  128. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  129. data/vendor/local/lib/pkgconfig/harfbuzz-subset.pc +1 -1
  130. data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
  131. data/vendor/local/lib/pkgconfig/icu-i18n.pc +6 -6
  132. data/vendor/local/lib/pkgconfig/icu-io.pc +6 -6
  133. data/vendor/local/lib/pkgconfig/icu-uc.pc +6 -6
  134. data/vendor/local/lib/pkgconfig/pango.pc +3 -2
  135. data/vendor/local/lib/pkgconfig/pangocairo.pc +1 -1
  136. data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
  137. data/vendor/local/lib/pkgconfig/pangowin32.pc +2 -2
  138. data/vendor/local/share/gir-1.0/Graphene-1.0.gir +1 -1
  139. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +80 -0
  140. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +34 -0
  141. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +13 -0
  142. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +20 -0
  143. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +83 -28
  144. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +5 -1
  145. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +1 -0
  146. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +1 -1
  147. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +2 -2
  148. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +2 -2
  149. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +2 -2
  150. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +2 -2
  151. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +2 -2
  152. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +2 -2
  153. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +2 -2
  154. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +2 -2
  155. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +2 -2
  156. data/vendor/local/share/gtk-doc/html/pango/index.html +3 -3
  157. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +2 -2
  158. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +2 -2
  159. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +2 -2
  160. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +2 -2
  161. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +2 -2
  162. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +2 -2
  163. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +2 -2
  164. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +2 -2
  165. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +2 -2
  166. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +2 -2
  167. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +2 -2
  168. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +2 -2
  169. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +2 -2
  170. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +2 -2
  171. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +2 -2
  172. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +2 -2
  173. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +2 -2
  174. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +4 -4
  175. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +2 -2
  176. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +2 -2
  177. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +2 -2
  178. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +2 -2
  179. data/vendor/local/share/gtk-doc/html/pango/pango.html +2 -2
  180. data/vendor/local/share/gtk-doc/html/pango/rendering.html +2 -2
  181. data/vendor/local/share/gtk-doc/html/pango/style.css +4 -0
  182. data/vendor/local/share/icu/{61.1 → 62.1}/LICENSE +0 -0
  183. data/vendor/local/share/icu/{61.1 → 62.1}/config/mh-mingw64 +0 -0
  184. data/vendor/local/share/icu/{61.1 → 62.1}/install-sh +0 -0
  185. data/vendor/local/share/icu/{61.1 → 62.1}/mkinstalldirs +0 -0
  186. data/vendor/local/share/man/man1/derb.1 +2 -2
  187. data/vendor/local/share/man/man1/genbrk.1 +2 -2
  188. data/vendor/local/share/man/man1/gencfu.1 +1 -1
  189. data/vendor/local/share/man/man1/gencnval.1 +3 -3
  190. data/vendor/local/share/man/man1/gendict.1 +2 -2
  191. data/vendor/local/share/man/man1/genrb.1 +3 -3
  192. data/vendor/local/share/man/man1/icu-config.1 +2 -2
  193. data/vendor/local/share/man/man1/makeconv.1 +3 -3
  194. data/vendor/local/share/man/man1/pkgdata.1 +2 -2
  195. data/vendor/local/share/man/man1/uconv.1 +2 -2
  196. data/vendor/local/share/man/man8/genccode.8 +2 -2
  197. data/vendor/local/share/man/man8/gencmn.8 +3 -3
  198. data/vendor/local/share/man/man8/gensprep.8 +3 -3
  199. data/vendor/local/share/man/man8/icupkg.8 +1 -1
  200. metadata +20 -54
  201. data/vendor/local/lib/icuin61.dll +0 -0
  202. data/vendor/local/libexec/installed-tests/graphene-1.0/box.exe +0 -0
  203. data/vendor/local/libexec/installed-tests/graphene-1.0/euler.exe +0 -0
  204. data/vendor/local/libexec/installed-tests/graphene-1.0/frustum.exe +0 -0
  205. data/vendor/local/libexec/installed-tests/graphene-1.0/matrix.exe +0 -0
  206. data/vendor/local/libexec/installed-tests/graphene-1.0/plane.exe +0 -0
  207. data/vendor/local/libexec/installed-tests/graphene-1.0/point.exe +0 -0
  208. data/vendor/local/libexec/installed-tests/graphene-1.0/point3d.exe +0 -0
  209. data/vendor/local/libexec/installed-tests/graphene-1.0/quaternion.exe +0 -0
  210. data/vendor/local/libexec/installed-tests/graphene-1.0/ray.exe +0 -0
  211. data/vendor/local/libexec/installed-tests/graphene-1.0/rect.exe +0 -0
  212. data/vendor/local/libexec/installed-tests/graphene-1.0/simd.exe +0 -0
  213. data/vendor/local/libexec/installed-tests/graphene-1.0/size.exe +0 -0
  214. data/vendor/local/libexec/installed-tests/graphene-1.0/sphere.exe +0 -0
  215. data/vendor/local/libexec/installed-tests/graphene-1.0/triangle.exe +0 -0
  216. data/vendor/local/libexec/installed-tests/graphene-1.0/vec2.exe +0 -0
  217. data/vendor/local/libexec/installed-tests/graphene-1.0/vec3.exe +0 -0
  218. data/vendor/local/libexec/installed-tests/graphene-1.0/vec4.exe +0 -0
  219. data/vendor/local/share/installed-tests/graphene-1.0/box.test +0 -3
  220. data/vendor/local/share/installed-tests/graphene-1.0/euler.test +0 -3
  221. data/vendor/local/share/installed-tests/graphene-1.0/frustum.test +0 -3
  222. data/vendor/local/share/installed-tests/graphene-1.0/matrix.test +0 -3
  223. data/vendor/local/share/installed-tests/graphene-1.0/plane.test +0 -3
  224. data/vendor/local/share/installed-tests/graphene-1.0/point.test +0 -3
  225. data/vendor/local/share/installed-tests/graphene-1.0/point3d.test +0 -3
  226. data/vendor/local/share/installed-tests/graphene-1.0/quad.test +0 -3
  227. data/vendor/local/share/installed-tests/graphene-1.0/quaternion.test +0 -3
  228. data/vendor/local/share/installed-tests/graphene-1.0/ray.test +0 -3
  229. data/vendor/local/share/installed-tests/graphene-1.0/rect.test +0 -3
  230. data/vendor/local/share/installed-tests/graphene-1.0/simd.test +0 -3
  231. data/vendor/local/share/installed-tests/graphene-1.0/size.test +0 -3
  232. data/vendor/local/share/installed-tests/graphene-1.0/sphere.test +0 -3
  233. data/vendor/local/share/installed-tests/graphene-1.0/triangle.test +0 -3
  234. data/vendor/local/share/installed-tests/graphene-1.0/vec2.test +0 -3
  235. data/vendor/local/share/installed-tests/graphene-1.0/vec3.test +0 -3
  236. data/vendor/local/share/installed-tests/graphene-1.0/vec4.test +0 -3
@@ -555,16 +555,18 @@ public:
555
555
  UnicodeString& appendTo,
556
556
  FieldPositionIterator* posIter,
557
557
  UErrorCode& status) const;
558
- public:
558
+
559
+ // Can't use #ifndef U_HIDE_INTERNAL_API because these are virtual methods
560
+
559
561
  /**
560
562
  * Format a decimal number.
561
- * The number is a DigitList wrapper onto a floating point decimal number.
563
+ * The number is a DecimalQuantity wrapper onto a floating point decimal number.
562
564
  * The default implementation in NumberFormat converts the decimal number
563
565
  * to a double and formats that. Subclasses of NumberFormat that want
564
566
  * to specifically handle big decimal numbers must override this method.
565
567
  * class DecimalFormat does so.
566
568
  *
567
- * @param number The number, a DigitList format Decimal Floating Point.
569
+ * @param number The number, a DecimalQuantity format Decimal Floating Point.
568
570
  * @param appendTo Output parameter to receive result.
569
571
  * Result is appended to existing contents.
570
572
  * @param posIter On return, can be used to iterate over positions
@@ -573,20 +575,20 @@ public:
573
575
  * @return Reference to 'appendTo' parameter.
574
576
  * @internal
575
577
  */
576
- virtual UnicodeString& format(const DigitList &number,
578
+ virtual UnicodeString& format(const number::impl::DecimalQuantity &number,
577
579
  UnicodeString& appendTo,
578
580
  FieldPositionIterator* posIter,
579
581
  UErrorCode& status) const;
580
582
 
581
583
  /**
582
584
  * Format a decimal number.
583
- * The number is a DigitList wrapper onto a floating point decimal number.
585
+ * The number is a DecimalQuantity wrapper onto a floating point decimal number.
584
586
  * The default implementation in NumberFormat converts the decimal number
585
587
  * to a double and formats that. Subclasses of NumberFormat that want
586
588
  * to specifically handle big decimal numbers must override this method.
587
589
  * class DecimalFormat does so.
588
590
  *
589
- * @param number The number, a DigitList format Decimal Floating Point.
591
+ * @param number The number, a DecimalQuantity format Decimal Floating Point.
590
592
  * @param appendTo Output parameter to receive result.
591
593
  * Result is appended to existing contents.
592
594
  * @param pos On input: an alignment field, if desired.
@@ -595,13 +597,11 @@ public:
595
597
  * @return Reference to 'appendTo' parameter.
596
598
  * @internal
597
599
  */
598
- virtual UnicodeString& format(const DigitList &number,
600
+ virtual UnicodeString& format(const number::impl::DecimalQuantity &number,
599
601
  UnicodeString& appendTo,
600
602
  FieldPosition& pos,
601
603
  UErrorCode& status) const;
602
604
 
603
- public:
604
-
605
605
  /**
606
606
  * Return a long if possible (e.g. within range LONG_MAX,
607
607
  * LONG_MAX], and with no decimals), otherwise a double. If
@@ -1000,7 +1000,7 @@ public:
1000
1000
  * @stable ICU 2.6
1001
1001
  */
1002
1002
  const char16_t* getCurrency() const;
1003
-
1003
+
1004
1004
  /**
1005
1005
  * Set a particular UDisplayContext value in the formatter, such as
1006
1006
  * UDISPCTX_CAPITALIZATION_FOR_STANDALONE.
@@ -196,20 +196,6 @@
196
196
  # define U_PLATFORM U_PF_UNKNOWN
197
197
  #endif
198
198
 
199
- /**
200
- * \def UPRV_INCOMPLETE_CPP11_SUPPORT
201
- * This switch turns off ICU 60 NumberFormatter code.
202
- * By default, this switch is enabled on AIX and z/OS,
203
- * which have poor C++11 support.
204
- *
205
- * NOTE: This switch is intended to be temporary; see #13393.
206
- *
207
- * @internal
208
- */
209
- #ifndef UPRV_INCOMPLETE_CPP11_SUPPORT
210
- # define UPRV_INCOMPLETE_CPP11_SUPPORT (U_PLATFORM == U_PF_AIX || U_PLATFORM == U_PF_OS390 || U_PLATFORM == U_PF_SOLARIS )
211
- #endif
212
-
213
199
  /**
214
200
  * \def CYGWINMSVC
215
201
  * Defined if this is Windows with Cygwin, but using MSVC rather than gcc.
@@ -44,7 +44,6 @@ U_NAMESPACE_BEGIN
44
44
 
45
45
  class Hashtable;
46
46
  class IFixedDecimal;
47
- class VisibleDigitsWithExponent;
48
47
  class RuleChain;
49
48
  class PluralRuleParser;
50
49
  class PluralKeywordEnumeration;
@@ -348,30 +347,10 @@ public:
348
347
  UnicodeString select(double number) const;
349
348
 
350
349
  #ifndef U_HIDE_INTERNAL_API
351
- /**
352
- * Given a number and a format, returns the keyword of the first applicable
353
- * rule for this PluralRules object.
354
- * Note: This internal preview interface may be removed in the future if
355
- * an architecturally cleaner solution reaches stable status.
356
- * @param obj The numeric object for which the rule should be determined.
357
- * @param fmt The NumberFormat specifying how the number will be formatted
358
- * (this can affect the plural form, e.g. "1 dollar" vs "1.0 dollars").
359
- * @param status Input/output parameter. If at entry this indicates a
360
- * failure status, the method returns immediately; otherwise
361
- * this is set to indicate the outcome of the call.
362
- * @return The keyword of the selected rule. Undefined in the case of an error.
363
- * @internal ICU 59 technology preview, may be removed in the future
364
- */
365
- UnicodeString select(const Formattable& obj, const NumberFormat& fmt, UErrorCode& status) const;
366
-
367
350
  /**
368
351
  * @internal
369
352
  */
370
353
  UnicodeString select(const IFixedDecimal &number) const;
371
- /**
372
- * @internal
373
- */
374
- UnicodeString select(const VisibleDigitsWithExponent &number) const;
375
354
  #endif /* U_HIDE_INTERNAL_API */
376
355
 
377
356
  /**
@@ -55,7 +55,7 @@ class U_COMMON_API RuleBasedBreakIterator /*U_FINAL*/ : public BreakIterator {
55
55
  private:
56
56
  /**
57
57
  * The UText through which this BreakIterator accesses the text
58
- * @internal
58
+ * @internal (private)
59
59
  */
60
60
  UText fText;
61
61
 
@@ -70,13 +70,6 @@ public:
70
70
  RBBIDataWrapper *fData;
71
71
  private:
72
72
 
73
- /**
74
- * The iteration state - current position, rule status for the current position,
75
- * and whether the iterator ran off the end, yielding UBRK_DONE.
76
- * Current position is pinned to be 0 < position <= text.length.
77
- * Current position is always set to a boundary.
78
- * @internal
79
- */
80
73
  /**
81
74
  * The current position of the iterator. Pinned, 0 < fPosition <= text.length.
82
75
  * Never has the value UBRK_DONE (-1).
@@ -628,25 +621,26 @@ private:
628
621
  /**
629
622
  * Dumps caches and performs other actions associated with a complete change
630
623
  * in text or iteration position.
631
- * @internal
624
+ * @internal (private)
632
625
  */
633
626
  void reset(void);
634
627
 
635
628
  /**
636
629
  * Common initialization function, used by constructors and bufferClone.
637
- * @internal
630
+ * @internal (private)
638
631
  */
639
632
  void init(UErrorCode &status);
640
633
 
641
634
  /**
642
- * Iterate backwards from an arbitrary position in the input text using the Safe Reverse rules.
635
+ * Iterate backwards from an arbitrary position in the input text using the
636
+ * synthesized Safe Reverse rules.
643
637
  * This locates a "Safe Position" from which the forward break rules
644
638
  * will operate correctly. A Safe Position is not necessarily a boundary itself.
645
639
  *
646
640
  * @param fromPosition the position in the input text to begin the iteration.
647
- * @internal
641
+ * @internal (private)
648
642
  */
649
- int32_t handlePrevious(int32_t fromPosition);
643
+ int32_t handleSafePrevious(int32_t fromPosition);
650
644
 
651
645
  /**
652
646
  * Find a rule-based boundary by running the state machine.
@@ -658,7 +652,7 @@ private:
658
652
  * If > 0, the segment will be further subdivided
659
653
  * fRuleStatusIndex Info from the state table indicating which rules caused the boundary.
660
654
  *
661
- * @internal
655
+ * @internal (private)
662
656
  */
663
657
  int32_t handleNext();
664
658
 
@@ -667,7 +661,7 @@ private:
667
661
  * This function returns the appropriate LanguageBreakEngine for a
668
662
  * given character c.
669
663
  * @param c A character in the dictionary set
670
- * @internal
664
+ * @internal (private)
671
665
  */
672
666
  const LanguageBreakEngine *getLanguageBreakEngine(UChar32 c);
673
667
 
@@ -884,7 +884,7 @@ protected:
884
884
  * @return Reference to 'appendTo' parameter.
885
885
  * @internal
886
886
  */
887
- virtual UnicodeString& format(const DigitList &number,
887
+ virtual UnicodeString& format(const number::impl::DecimalQuantity &number,
888
888
  UnicodeString& appendTo,
889
889
  FieldPositionIterator* posIter,
890
890
  UErrorCode& status) const;
@@ -906,7 +906,7 @@ protected:
906
906
  * @return Reference to 'appendTo' parameter.
907
907
  * @internal
908
908
  */
909
- virtual UnicodeString& format(const DigitList &number,
909
+ virtual UnicodeString& format(const number::impl::DecimalQuantity &number,
910
910
  UnicodeString& appendTo,
911
911
  FieldPosition& pos,
912
912
  UErrorCode& status) const;
@@ -24,7 +24,6 @@
24
24
  U_NAMESPACE_BEGIN
25
25
 
26
26
  class FieldPositionIterator;
27
- class DecimalFormatStaticSets;
28
27
  class DecimalFormatSymbols;
29
28
  class DecimalFormat;
30
29
  class Formattable;
@@ -150,7 +149,6 @@ public:
150
149
  const UnicodeString &original,
151
150
  FieldPositionIterator &fpi,
152
151
  const UnicodeString &preExponent,
153
- const DecimalFormatStaticSets &decimalFormatSets,
154
152
  UnicodeString &appendTo,
155
153
  UErrorCode &status) const = 0;
156
154
  private:
@@ -165,7 +163,6 @@ public:
165
163
  const UnicodeString &original,
166
164
  FieldPositionIterator &fpi,
167
165
  const UnicodeString &preExponent,
168
- const DecimalFormatStaticSets &decimalFormatSets,
169
166
  UnicodeString &appendTo,
170
167
  UErrorCode &status) const;
171
168
  };
@@ -184,7 +181,6 @@ public:
184
181
  const UnicodeString &original,
185
182
  FieldPositionIterator &fpi,
186
183
  const UnicodeString &preExponent,
187
- const DecimalFormatStaticSets &decimalFormatSets,
188
184
  UnicodeString &appendTo,
189
185
  UErrorCode &status) const;
190
186
  private:
@@ -211,7 +207,6 @@ public:
211
207
  UnicodeString fPreExponent;
212
208
  DecimalFormat *fDecimalFormat;
213
209
  Style *fStyle;
214
- const DecimalFormatStaticSets *fStaticSets;
215
210
 
216
211
  };
217
212
 
@@ -50,6 +50,10 @@ class TimeZoneFormat;
50
50
  class SharedNumberFormat;
51
51
  class SimpleDateFormatMutableNFs;
52
52
 
53
+ namespace number {
54
+ class LocalizedNumberFormatter;
55
+ }
56
+
53
57
  /**
54
58
  *
55
59
  * SimpleDateFormat is a concrete class for formatting and parsing dates in a
@@ -1268,7 +1272,6 @@ private:
1268
1272
  int32_t fieldNum,
1269
1273
  FieldPositionHandler& handler,
1270
1274
  Calendar& cal,
1271
- SimpleDateFormatMutableNFs &mutableNFs,
1272
1275
  UErrorCode& status) const; // in case of illegal argument
1273
1276
 
1274
1277
  /**
@@ -1284,7 +1287,7 @@ private:
1284
1287
  * @param minDigits Minimum number of digits the result should have
1285
1288
  * @param maxDigits Maximum number of digits the result should have
1286
1289
  */
1287
- void zeroPaddingNumber(NumberFormat *currentNumberFormat,
1290
+ void zeroPaddingNumber(const NumberFormat *currentNumberFormat,
1288
1291
  UnicodeString &appendTo,
1289
1292
  int32_t value,
1290
1293
  int32_t minDigits,
@@ -1414,21 +1417,21 @@ private:
1414
1417
  */
1415
1418
  int32_t subParse(const UnicodeString& text, int32_t& start, char16_t ch, int32_t count,
1416
1419
  UBool obeyCount, UBool allowNegative, UBool ambiguousYear[], int32_t& saveHebrewMonth, Calendar& cal,
1417
- int32_t patLoc, MessageFormat * numericLeapMonthFormatter, UTimeZoneFormatTimeType *tzTimeType, SimpleDateFormatMutableNFs &mutableNFs,
1420
+ int32_t patLoc, MessageFormat * numericLeapMonthFormatter, UTimeZoneFormatTimeType *tzTimeType,
1418
1421
  int32_t *dayPeriod=NULL) const;
1419
1422
 
1420
1423
  void parseInt(const UnicodeString& text,
1421
1424
  Formattable& number,
1422
1425
  ParsePosition& pos,
1423
1426
  UBool allowNegative,
1424
- NumberFormat *fmt) const;
1427
+ const NumberFormat *fmt) const;
1425
1428
 
1426
1429
  void parseInt(const UnicodeString& text,
1427
1430
  Formattable& number,
1428
1431
  int32_t maxDigits,
1429
1432
  ParsePosition& pos,
1430
1433
  UBool allowNegative,
1431
- NumberFormat *fmt) const;
1434
+ const NumberFormat *fmt) const;
1432
1435
 
1433
1436
  int32_t checkIntSuffix(const UnicodeString& text, int32_t start,
1434
1437
  int32_t patLoc, UBool isNegative) const;
@@ -1495,6 +1498,16 @@ private:
1495
1498
  */
1496
1499
  int32_t skipUWhiteSpace(const UnicodeString& text, int32_t pos) const;
1497
1500
 
1501
+ /**
1502
+ * Initialize LocalizedNumberFormatter instances used for speedup.
1503
+ */
1504
+ void initFastNumberFormatters(UErrorCode& status);
1505
+
1506
+ /**
1507
+ * Delete the LocalizedNumberFormatter instances used for speedup.
1508
+ */
1509
+ void freeFastNumberFormatters();
1510
+
1498
1511
  /**
1499
1512
  * Initialize NumberFormat instances used for numbering system overrides.
1500
1513
  */
@@ -1518,7 +1531,7 @@ private:
1518
1531
  /**
1519
1532
  * Lazy TimeZoneFormat instantiation, semantically const
1520
1533
  */
1521
- TimeZoneFormat *tzFormat() const;
1534
+ TimeZoneFormat *tzFormat(UErrorCode &status) const;
1522
1535
 
1523
1536
  const NumberFormat* getNumberFormatByIndex(UDateFormatField index) const;
1524
1537
 
@@ -1611,6 +1624,20 @@ private:
1611
1624
  */
1612
1625
  const SharedNumberFormat **fSharedNumberFormatters;
1613
1626
 
1627
+ enum NumberFormatterKey {
1628
+ SMPDTFMT_NF_1x10,
1629
+ SMPDTFMT_NF_2x10,
1630
+ SMPDTFMT_NF_3x10,
1631
+ SMPDTFMT_NF_4x10,
1632
+ SMPDTFMT_NF_2x2,
1633
+ SMPDTFMT_NF_COUNT
1634
+ };
1635
+
1636
+ /**
1637
+ * Number formatters pre-allocated for fast performance on the most common integer lengths.
1638
+ */
1639
+ const number::LocalizedNumberFormatter* fFastNumberFormatters[SMPDTFMT_NF_COUNT] = {};
1640
+
1614
1641
  UBool fHaveDefaultCentury;
1615
1642
 
1616
1643
  BreakIterator* fCapitalizationBrkIter;
@@ -284,6 +284,8 @@ public:
284
284
  * and may return a different TimeZone from the one returned by
285
285
  * TimeZone::createDefault().
286
286
  *
287
+ * <p>This function is not thread safe.</p>
288
+ *
287
289
  * @return A new instance of TimeZone detected from the current host system
288
290
  * configuration.
289
291
  * @stable ICU 55
@@ -42,7 +42,7 @@ U_CDECL_BEGIN
42
42
  * @see u_getUnicodeVersion
43
43
  * @stable ICU 2.0
44
44
  */
45
- #define U_UNICODE_VERSION "10.0"
45
+ #define U_UNICODE_VERSION "11.0"
46
46
 
47
47
  /**
48
48
  * \file
@@ -446,6 +446,13 @@ typedef enum UProperty {
446
446
  * @stable ICU 60
447
447
  */
448
448
  UCHAR_PREPENDED_CONCATENATION_MARK=63,
449
+ /**
450
+ * Binary property Extended_Pictographic.
451
+ * See http://www.unicode.org/reports/tr51/#Emoji_Properties
452
+ *
453
+ * @stable ICU 62
454
+ */
455
+ UCHAR_EXTENDED_PICTOGRAPHIC=64,
449
456
  #ifndef U_HIDE_DEPRECATED_API
450
457
  /**
451
458
  * One more than the last constant for binary Unicode properties.
@@ -1683,6 +1690,31 @@ enum UBlockCode {
1683
1690
  /** @stable ICU 60 */
1684
1691
  UBLOCK_ZANABAZAR_SQUARE = 280, /*[11A00]*/
1685
1692
 
1693
+ // New blocks in Unicode 11.0
1694
+
1695
+ /** @stable ICU 62 */
1696
+ UBLOCK_CHESS_SYMBOLS = 281, /*[1FA00]*/
1697
+ /** @stable ICU 62 */
1698
+ UBLOCK_DOGRA = 282, /*[11800]*/
1699
+ /** @stable ICU 62 */
1700
+ UBLOCK_GEORGIAN_EXTENDED = 283, /*[1C90]*/
1701
+ /** @stable ICU 62 */
1702
+ UBLOCK_GUNJALA_GONDI = 284, /*[11D60]*/
1703
+ /** @stable ICU 62 */
1704
+ UBLOCK_HANIFI_ROHINGYA = 285, /*[10D00]*/
1705
+ /** @stable ICU 62 */
1706
+ UBLOCK_INDIC_SIYAQ_NUMBERS = 286, /*[1EC70]*/
1707
+ /** @stable ICU 62 */
1708
+ UBLOCK_MAKASAR = 287, /*[11EE0]*/
1709
+ /** @stable ICU 62 */
1710
+ UBLOCK_MAYAN_NUMERALS = 288, /*[1D2E0]*/
1711
+ /** @stable ICU 62 */
1712
+ UBLOCK_MEDEFAIDRIN = 289, /*[16E40]*/
1713
+ /** @stable ICU 62 */
1714
+ UBLOCK_OLD_SOGDIAN = 290, /*[10F00]*/
1715
+ /** @stable ICU 62 */
1716
+ UBLOCK_SOGDIAN = 291, /*[10F30]*/
1717
+
1686
1718
  #ifndef U_HIDE_DEPRECATED_API
1687
1719
  /**
1688
1720
  * One more than the highest normal UBlockCode value.
@@ -1690,7 +1722,7 @@ enum UBlockCode {
1690
1722
  *
1691
1723
  * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
1692
1724
  */
1693
- UBLOCK_COUNT = 281,
1725
+ UBLOCK_COUNT = 292,
1694
1726
  #endif // U_HIDE_DEPRECATED_API
1695
1727
 
1696
1728
  /** @stable ICU 2.0 */
@@ -1979,6 +2011,9 @@ typedef enum UJoiningGroup {
1979
2011
  U_JG_MALAYALAM_SSA, /**< @stable ICU 60 */
1980
2012
  U_JG_MALAYALAM_TTA, /**< @stable ICU 60 */
1981
2013
 
2014
+ U_JG_HANIFI_ROHINGYA_KINNA_YA, /**< @stable ICU 62 */
2015
+ U_JG_HANIFI_ROHINGYA_PA, /**< @stable ICU 62 */
2016
+
1982
2017
  #ifndef U_HIDE_DEPRECATED_API
1983
2018
  /**
1984
2019
  * One more than the highest normal UJoiningGroup value.
@@ -2029,6 +2064,7 @@ typedef enum UGraphemeClusterBreak {
2029
2064
  U_GCB_GLUE_AFTER_ZWJ = 16, /*[GAZ]*/
2030
2065
  /** @stable ICU 58 */
2031
2066
  U_GCB_ZWJ = 17, /*[ZWJ]*/
2067
+
2032
2068
  #ifndef U_HIDE_DEPRECATED_API
2033
2069
  /**
2034
2070
  * One more than the highest normal UGraphemeClusterBreak value.
@@ -2090,6 +2126,9 @@ typedef enum UWordBreakValues {
2090
2126
  U_WB_GLUE_AFTER_ZWJ = 20, /*[GAZ]*/
2091
2127
  /** @stable ICU 58 */
2092
2128
  U_WB_ZWJ = 21, /*[ZWJ]*/
2129
+ /** @stable ICU 62 */
2130
+ U_WB_WSEGSPACE = 22, /*[WSEGSPACE]*/
2131
+
2093
2132
  #ifndef U_HIDE_DEPRECATED_API
2094
2133
  /**
2095
2134
  * One more than the highest normal UWordBreakValues value.
@@ -2097,7 +2136,7 @@ typedef enum UWordBreakValues {
2097
2136
  *
2098
2137
  * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
2099
2138
  */
2100
- U_WB_COUNT = 22
2139
+ U_WB_COUNT = 23
2101
2140
  #endif // U_HIDE_DEPRECATED_API
2102
2141
  } UWordBreakValues;
2103
2142