pango 3.2.5-x64-mingw32 → 3.2.6-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING.LIB +502 -0
  3. data/README.md +25 -0
  4. data/Rakefile +8 -8
  5. data/ext/pango/extconf.rb +4 -1
  6. data/ext/pango/pango.def +1 -0
  7. data/ext/pango/rb-pango-attr-list.c +3 -3
  8. data/ext/pango/rb-pango-attribute.c +67 -57
  9. data/ext/pango/rb-pango-conversions.h +3 -3
  10. data/ext/pango/rb-pango-private.h +0 -1
  11. data/ext/pango/rb-pango.c +0 -1
  12. data/ext/pango/rb-pango.h +2 -1
  13. data/lib/2.2/pango.so +0 -0
  14. data/lib/2.3/pango.so +0 -0
  15. data/lib/2.4/pango.so +0 -0
  16. data/lib/2.5/pango.so +0 -0
  17. data/lib/pango/loader.rb +13 -1
  18. data/lib/pango/rectangle.rb +7 -1
  19. data/pango.gemspec +43 -0
  20. data/vendor/local/bin/derb.exe +0 -0
  21. data/vendor/local/bin/escapesrc.exe +0 -0
  22. data/vendor/local/bin/fribidi.exe +0 -0
  23. data/vendor/local/bin/genbrk.exe +0 -0
  24. data/vendor/local/bin/genccode.exe +0 -0
  25. data/vendor/local/bin/gencfu.exe +0 -0
  26. data/vendor/local/bin/gencmn.exe +0 -0
  27. data/vendor/local/bin/gencnval.exe +0 -0
  28. data/vendor/local/bin/gendict.exe +0 -0
  29. data/vendor/local/bin/gennorm2.exe +0 -0
  30. data/vendor/local/bin/genrb.exe +0 -0
  31. data/vendor/local/bin/gensprep.exe +0 -0
  32. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  33. data/vendor/local/bin/hb-shape.exe +0 -0
  34. data/vendor/local/bin/hb-subset.exe +0 -0
  35. data/vendor/local/bin/hb-view.exe +0 -0
  36. data/vendor/local/bin/icu-config +13 -8
  37. data/vendor/local/bin/icuinfo.exe +0 -0
  38. data/vendor/local/bin/icupkg.exe +0 -0
  39. data/vendor/local/bin/libfribidi-0.dll +0 -0
  40. data/vendor/local/bin/libgraphene-1.0-0.dll +0 -0
  41. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  42. data/vendor/local/bin/libharfbuzz-subset-0.dll +0 -0
  43. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  44. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  45. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  46. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  47. data/vendor/local/bin/makeconv.exe +0 -0
  48. data/vendor/local/bin/pango-view.exe +0 -0
  49. data/vendor/local/bin/pkgdata.exe +0 -0
  50. data/vendor/local/bin/uconv.exe +0 -0
  51. data/vendor/local/include/fribidi/fribidi-config.h +2 -2
  52. data/vendor/local/include/harfbuzz/hb-blob.h +2 -0
  53. data/vendor/local/include/harfbuzz/hb-common.h +24 -3
  54. data/vendor/local/include/harfbuzz/hb-face.h +4 -0
  55. data/vendor/local/include/harfbuzz/hb-map.h +104 -0
  56. data/vendor/local/include/harfbuzz/hb-ot-layout.h +1 -1
  57. data/vendor/local/include/harfbuzz/hb-set.h +0 -2
  58. data/vendor/local/include/harfbuzz/hb-subset-plan.hh +46 -25
  59. data/vendor/local/include/harfbuzz/hb-subset.h +4 -1
  60. data/vendor/local/include/harfbuzz/hb-version.h +3 -3
  61. data/vendor/local/include/harfbuzz/hb.h +1 -0
  62. data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
  63. data/vendor/local/include/unicode/alphaindex.h +2 -1
  64. data/vendor/local/include/unicode/appendable.h +25 -25
  65. data/vendor/local/include/unicode/basictz.h +1 -1
  66. data/vendor/local/include/unicode/brkiter.h +19 -24
  67. data/vendor/local/include/unicode/bytestream.h +26 -13
  68. data/vendor/local/include/unicode/bytestrie.h +2 -2
  69. data/vendor/local/include/unicode/bytestriebuilder.h +4 -5
  70. data/vendor/local/include/unicode/calendar.h +11 -11
  71. data/vendor/local/include/unicode/caniter.h +3 -3
  72. data/vendor/local/include/unicode/casemap.h +494 -0
  73. data/vendor/local/include/unicode/char16ptr.h +302 -0
  74. data/vendor/local/include/unicode/chariter.h +22 -18
  75. data/vendor/local/include/unicode/choicfmt.h +1 -1
  76. data/vendor/local/include/unicode/coleitr.h +2 -1
  77. data/vendor/local/include/unicode/coll.h +17 -17
  78. data/vendor/local/include/unicode/compactdecimalformat.h +10 -2
  79. data/vendor/local/include/unicode/curramt.h +5 -5
  80. data/vendor/local/include/unicode/currpinf.h +1 -1
  81. data/vendor/local/include/unicode/currunit.h +24 -6
  82. data/vendor/local/include/unicode/datefmt.h +3 -2
  83. data/vendor/local/include/unicode/dbbi.h +1 -1
  84. data/vendor/local/include/unicode/dcfmtsym.h +89 -13
  85. data/vendor/local/include/unicode/decimfmt.h +38 -39
  86. data/vendor/local/include/unicode/docmain.h +7 -2
  87. data/vendor/local/include/unicode/dtfmtsym.h +7 -6
  88. data/vendor/local/include/unicode/dtintrv.h +2 -2
  89. data/vendor/local/include/unicode/dtitvfmt.h +2 -2
  90. data/vendor/local/include/unicode/dtitvinf.h +1 -3
  91. data/vendor/local/include/unicode/dtptngen.h +48 -24
  92. data/vendor/local/include/unicode/dtrule.h +1 -1
  93. data/vendor/local/include/unicode/edits.h +424 -0
  94. data/vendor/local/include/unicode/enumset.h +1 -1
  95. data/vendor/local/include/unicode/errorcode.h +2 -2
  96. data/vendor/local/include/unicode/fieldpos.h +1 -1
  97. data/vendor/local/include/unicode/filteredbrk.h +35 -5
  98. data/vendor/local/include/unicode/fmtable.h +1 -1
  99. data/vendor/local/include/unicode/format.h +1 -1
  100. data/vendor/local/include/unicode/fpositer.h +11 -3
  101. data/vendor/local/include/unicode/gender.h +1 -1
  102. data/vendor/local/include/unicode/gregocal.h +1 -1
  103. data/vendor/local/include/unicode/icudataver.h +1 -1
  104. data/vendor/local/include/unicode/icuplug.h +1 -1
  105. data/vendor/local/include/unicode/idna.h +2 -2
  106. data/vendor/local/include/unicode/listformatter.h +4 -2
  107. data/vendor/local/include/unicode/localpointer.h +6 -43
  108. data/vendor/local/include/unicode/locdspnm.h +2 -1
  109. data/vendor/local/include/unicode/locid.h +7 -6
  110. data/vendor/local/include/unicode/measfmt.h +18 -7
  111. data/vendor/local/include/unicode/measunit.h +31 -60
  112. data/vendor/local/include/unicode/measure.h +1 -1
  113. data/vendor/local/include/unicode/messagepattern.h +2 -2
  114. data/vendor/local/include/unicode/msgfmt.h +2 -2
  115. data/vendor/local/include/unicode/normalizer2.h +130 -16
  116. data/vendor/local/include/unicode/normlzr.h +5 -5
  117. data/vendor/local/include/unicode/nounit.h +111 -0
  118. data/vendor/local/include/unicode/numberformatter.h +2194 -0
  119. data/vendor/local/include/unicode/numfmt.h +81 -7
  120. data/vendor/local/include/unicode/numsys.h +2 -2
  121. data/vendor/local/include/unicode/parseerr.h +3 -3
  122. data/vendor/local/include/unicode/parsepos.h +1 -1
  123. data/vendor/local/include/unicode/platform.h +66 -63
  124. data/vendor/local/include/unicode/plurfmt.h +1 -1
  125. data/vendor/local/include/unicode/plurrule.h +23 -4
  126. data/vendor/local/include/unicode/ptypes.h +1 -1
  127. data/vendor/local/include/unicode/putil.h +4 -4
  128. data/vendor/local/include/unicode/rbbi.h +105 -134
  129. data/vendor/local/include/unicode/rbnf.h +65 -3
  130. data/vendor/local/include/unicode/rbtz.h +1 -1
  131. data/vendor/local/include/unicode/regex.h +17 -17
  132. data/vendor/local/include/unicode/region.h +1 -1
  133. data/vendor/local/include/unicode/reldatefmt.h +4 -5
  134. data/vendor/local/include/unicode/rep.h +4 -4
  135. data/vendor/local/include/unicode/resbund.h +3 -3
  136. data/vendor/local/include/unicode/schriter.h +3 -3
  137. data/vendor/local/include/unicode/scientificnumberformatter.h +1 -1
  138. data/vendor/local/include/unicode/search.h +1 -1
  139. data/vendor/local/include/unicode/selfmt.h +1 -1
  140. data/vendor/local/include/unicode/simpleformatter.h +31 -25
  141. data/vendor/local/include/unicode/simpletz.h +5 -3
  142. data/vendor/local/include/unicode/smpdtfmt.h +17 -7
  143. data/vendor/local/include/unicode/sortkey.h +1 -1
  144. data/vendor/local/include/unicode/std_string.h +6 -8
  145. data/vendor/local/include/unicode/strenum.h +5 -5
  146. data/vendor/local/include/unicode/stringoptions.h +198 -0
  147. data/vendor/local/include/unicode/stringpiece.h +1 -3
  148. data/vendor/local/include/unicode/stringtriebuilder.h +19 -19
  149. data/vendor/local/include/unicode/stsearch.h +1 -1
  150. data/vendor/local/include/unicode/symtable.h +1 -1
  151. data/vendor/local/include/unicode/tblcoll.h +13 -13
  152. data/vendor/local/include/unicode/timezone.h +5 -5
  153. data/vendor/local/include/unicode/tmunit.h +1 -1
  154. data/vendor/local/include/unicode/tmutamt.h +1 -1
  155. data/vendor/local/include/unicode/tmutfmt.h +1 -1
  156. data/vendor/local/include/unicode/translit.h +2 -2
  157. data/vendor/local/include/unicode/tzfmt.h +4 -4
  158. data/vendor/local/include/unicode/tznames.h +3 -5
  159. data/vendor/local/include/unicode/tzrule.h +1 -1
  160. data/vendor/local/include/unicode/tztrans.h +1 -1
  161. data/vendor/local/include/unicode/ubidi.h +11 -8
  162. data/vendor/local/include/unicode/ubiditransform.h +16 -19
  163. data/vendor/local/include/unicode/ubrk.h +61 -4
  164. data/vendor/local/include/unicode/ucal.h +3 -3
  165. data/vendor/local/include/unicode/ucasemap.h +7 -47
  166. data/vendor/local/include/unicode/ucat.h +1 -1
  167. data/vendor/local/include/unicode/uchar.h +62 -37
  168. data/vendor/local/include/unicode/ucharstrie.h +48 -48
  169. data/vendor/local/include/unicode/ucharstriebuilder.h +12 -12
  170. data/vendor/local/include/unicode/uchriter.h +33 -29
  171. data/vendor/local/include/unicode/uclean.h +15 -13
  172. data/vendor/local/include/unicode/ucnv.h +11 -11
  173. data/vendor/local/include/unicode/ucnv_cb.h +1 -1
  174. data/vendor/local/include/unicode/ucnv_err.h +7 -7
  175. data/vendor/local/include/unicode/ucnvsel.h +1 -1
  176. data/vendor/local/include/unicode/ucol.h +6 -6
  177. data/vendor/local/include/unicode/ucoleitr.h +3 -3
  178. data/vendor/local/include/unicode/uconfig.h +8 -5
  179. data/vendor/local/include/unicode/ucsdet.h +7 -3
  180. data/vendor/local/include/unicode/ucurr.h +14 -1
  181. data/vendor/local/include/unicode/udat.h +39 -41
  182. data/vendor/local/include/unicode/udata.h +2 -2
  183. data/vendor/local/include/unicode/udateintervalformat.h +1 -1
  184. data/vendor/local/include/unicode/udatpg.h +56 -5
  185. data/vendor/local/include/unicode/udisplaycontext.h +4 -8
  186. data/vendor/local/include/unicode/uenum.h +5 -3
  187. data/vendor/local/include/unicode/ufieldpositer.h +1 -1
  188. data/vendor/local/include/unicode/uformattable.h +2 -2
  189. data/vendor/local/include/unicode/ugender.h +1 -1
  190. data/vendor/local/include/unicode/uidna.h +2 -2
  191. data/vendor/local/include/unicode/uiter.h +2 -2
  192. data/vendor/local/include/unicode/uldnames.h +1 -1
  193. data/vendor/local/include/unicode/ulistformatter.h +4 -4
  194. data/vendor/local/include/unicode/uloc.h +29 -16
  195. data/vendor/local/include/unicode/ulocdata.h +5 -5
  196. data/vendor/local/include/unicode/umachine.h +81 -38
  197. data/vendor/local/include/unicode/umisc.h +2 -2
  198. data/vendor/local/include/unicode/umsg.h +2 -2
  199. data/vendor/local/include/unicode/unifilt.h +2 -2
  200. data/vendor/local/include/unicode/unifunct.h +1 -1
  201. data/vendor/local/include/unicode/unimatch.h +1 -1
  202. data/vendor/local/include/unicode/unirepl.h +1 -1
  203. data/vendor/local/include/unicode/uniset.h +5 -4
  204. data/vendor/local/include/unicode/unistr.h +322 -208
  205. data/vendor/local/include/unicode/unorm.h +9 -9
  206. data/vendor/local/include/unicode/unorm2.h +3 -26
  207. data/vendor/local/include/unicode/unum.h +71 -11
  208. data/vendor/local/include/unicode/unumsys.h +1 -1
  209. data/vendor/local/include/unicode/uobject.h +2 -2
  210. data/vendor/local/include/unicode/upluralrules.h +51 -6
  211. data/vendor/local/include/unicode/uregex.h +2 -2
  212. data/vendor/local/include/unicode/uregion.h +2 -2
  213. data/vendor/local/include/unicode/ureldatefmt.h +33 -39
  214. data/vendor/local/include/unicode/urename.h +18 -17
  215. data/vendor/local/include/unicode/urep.h +1 -1
  216. data/vendor/local/include/unicode/ures.h +9 -9
  217. data/vendor/local/include/unicode/uscript.h +10 -3
  218. data/vendor/local/include/unicode/usearch.h +3 -3
  219. data/vendor/local/include/unicode/uset.h +2 -2
  220. data/vendor/local/include/unicode/usetiter.h +1 -1
  221. data/vendor/local/include/unicode/ushape.h +3 -3
  222. data/vendor/local/include/unicode/uspoof.h +24 -29
  223. data/vendor/local/include/unicode/usprep.h +7 -7
  224. data/vendor/local/include/unicode/ustdio.h +1 -1
  225. data/vendor/local/include/unicode/ustream.h +2 -9
  226. data/vendor/local/include/unicode/ustring.h +3 -13
  227. data/vendor/local/include/unicode/ustringtrie.h +2 -2
  228. data/vendor/local/include/unicode/utext.h +16 -16
  229. data/vendor/local/include/unicode/utf.h +19 -19
  230. data/vendor/local/include/unicode/utf16.h +128 -8
  231. data/vendor/local/include/unicode/utf32.h +2 -2
  232. data/vendor/local/include/unicode/utf8.h +177 -121
  233. data/vendor/local/include/unicode/utf_old.h +40 -7
  234. data/vendor/local/include/unicode/utmscale.h +8 -1
  235. data/vendor/local/include/unicode/utrace.h +4 -4
  236. data/vendor/local/include/unicode/utrans.h +3 -3
  237. data/vendor/local/include/unicode/utypes.h +13 -10
  238. data/vendor/local/include/unicode/uvernum.h +18 -11
  239. data/vendor/local/include/unicode/uversion.h +10 -4
  240. data/vendor/local/include/unicode/vtzone.h +1 -1
  241. data/vendor/local/lib/cmake/harfbuzz/harfbuzz-config.cmake +1 -1
  242. data/vendor/local/lib/icu/{58.2 → 61.1}/Makefile.inc +7 -7
  243. data/vendor/local/lib/icu/{58.2 → 61.1}/pkgdata.inc +2 -2
  244. data/vendor/local/lib/icu/Makefile.inc +7 -7
  245. data/vendor/local/lib/icu/pkgdata.inc +2 -2
  246. data/vendor/local/lib/icudt.dll +0 -0
  247. data/vendor/local/lib/{icudt58.dll → icudt61.dll} +0 -0
  248. data/vendor/local/lib/icuin.dll +0 -0
  249. data/vendor/local/lib/icuin61.dll +0 -0
  250. data/vendor/local/lib/icuio.dll +0 -0
  251. data/vendor/local/lib/{icuio58.dll → icuio61.dll} +0 -0
  252. data/vendor/local/lib/icutest.dll +0 -0
  253. data/vendor/local/lib/{icutest58.dll → icutest61.dll} +0 -0
  254. data/vendor/local/lib/icutu.dll +0 -0
  255. data/vendor/local/lib/icutu61.dll +0 -0
  256. data/vendor/local/lib/icuuc.dll +0 -0
  257. data/vendor/local/lib/icuuc61.dll +0 -0
  258. data/vendor/local/lib/libfribidi.dll.a +0 -0
  259. data/vendor/local/lib/libgraphene-1.0.dll.a +0 -0
  260. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  261. data/vendor/local/lib/libharfbuzz-icu.la +3 -3
  262. data/vendor/local/lib/libharfbuzz-subset.dll.a +0 -0
  263. data/vendor/local/lib/libharfbuzz-subset.la +3 -3
  264. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  265. data/vendor/local/lib/libharfbuzz.la +3 -3
  266. data/vendor/local/lib/libicudt.dll.a +0 -0
  267. data/vendor/local/lib/libicuin.dll.a +0 -0
  268. data/vendor/local/lib/libicuio.dll.a +0 -0
  269. data/vendor/local/lib/libicutest.dll.a +0 -0
  270. data/vendor/local/lib/libicutu.dll.a +0 -0
  271. data/vendor/local/lib/libicuuc.dll.a +0 -0
  272. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  273. data/vendor/local/lib/libpango-1.0.la +2 -2
  274. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  275. data/vendor/local/lib/libpangocairo-1.0.la +2 -2
  276. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  277. data/vendor/local/lib/libpangoft2-1.0.la +2 -2
  278. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  279. data/vendor/local/lib/libpangowin32-1.0.la +2 -2
  280. data/vendor/local/lib/pkgconfig/fribidi.pc +1 -1
  281. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  282. data/vendor/local/lib/pkgconfig/harfbuzz-subset.pc +1 -1
  283. data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
  284. data/vendor/local/lib/pkgconfig/icu-i18n.pc +7 -7
  285. data/vendor/local/lib/pkgconfig/icu-io.pc +7 -7
  286. data/vendor/local/lib/pkgconfig/icu-uc.pc +7 -7
  287. data/vendor/local/lib/pkgconfig/pango.pc +2 -2
  288. data/vendor/local/lib/pkgconfig/pangocairo.pc +2 -2
  289. data/vendor/local/lib/pkgconfig/pangoft2.pc +2 -2
  290. data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
  291. data/vendor/local/libexec/installed-tests/graphene-1.0/box.exe +0 -0
  292. data/vendor/local/libexec/installed-tests/graphene-1.0/euler.exe +0 -0
  293. data/vendor/local/libexec/installed-tests/graphene-1.0/frustum.exe +0 -0
  294. data/vendor/local/libexec/installed-tests/graphene-1.0/matrix.exe +0 -0
  295. data/vendor/local/libexec/installed-tests/graphene-1.0/plane.exe +0 -0
  296. data/vendor/local/libexec/installed-tests/graphene-1.0/point.exe +0 -0
  297. data/vendor/local/libexec/installed-tests/graphene-1.0/point3d.exe +0 -0
  298. data/vendor/local/libexec/installed-tests/graphene-1.0/quad.exe +0 -0
  299. data/vendor/local/libexec/installed-tests/graphene-1.0/quaternion.exe +0 -0
  300. data/vendor/local/libexec/installed-tests/graphene-1.0/ray.exe +0 -0
  301. data/vendor/local/libexec/installed-tests/graphene-1.0/rect.exe +0 -0
  302. data/vendor/local/libexec/installed-tests/graphene-1.0/simd.exe +0 -0
  303. data/vendor/local/libexec/installed-tests/graphene-1.0/size.exe +0 -0
  304. data/vendor/local/libexec/installed-tests/graphene-1.0/sphere.exe +0 -0
  305. data/vendor/local/libexec/installed-tests/graphene-1.0/triangle.exe +0 -0
  306. data/vendor/local/libexec/installed-tests/graphene-1.0/vec2.exe +0 -0
  307. data/vendor/local/libexec/installed-tests/graphene-1.0/vec3.exe +0 -0
  308. data/vendor/local/libexec/installed-tests/graphene-1.0/vec4.exe +0 -0
  309. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Buffers.html +5 -3
  310. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +5 -0
  311. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +1 -0
  312. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +1 -1
  313. data/vendor/local/share/gtk-doc/html/pango/index.html +1 -1
  314. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +2 -2
  315. data/vendor/local/share/icu/{58.2 → 61.1}/LICENSE +32 -3
  316. data/vendor/local/share/icu/{58.2 → 61.1}/config/mh-mingw64 +4 -0
  317. data/vendor/local/share/icu/{58.2 → 61.1}/install-sh +0 -0
  318. data/vendor/local/share/icu/{58.2 → 61.1}/mkinstalldirs +0 -0
  319. data/vendor/local/share/man/man1/derb.1 +2 -2
  320. data/vendor/local/share/man/man1/genbrk.1 +2 -2
  321. data/vendor/local/share/man/man1/gencfu.1 +1 -1
  322. data/vendor/local/share/man/man1/gencnval.1 +3 -3
  323. data/vendor/local/share/man/man1/gendict.1 +2 -2
  324. data/vendor/local/share/man/man1/genrb.1 +3 -3
  325. data/vendor/local/share/man/man1/icu-config.1 +2 -2
  326. data/vendor/local/share/man/man1/makeconv.1 +5 -5
  327. data/vendor/local/share/man/man1/pkgdata.1 +2 -2
  328. data/vendor/local/share/man/man1/uconv.1 +9 -9
  329. data/vendor/local/share/man/man3/fribidi_charset_to_unicode.3 +98 -0
  330. data/vendor/local/share/man/man3/fribidi_debug_status.3 +44 -0
  331. data/vendor/local/share/man/man3/fribidi_get_bidi_type.3 +58 -0
  332. data/vendor/local/share/man/man3/fribidi_get_bidi_type_name.3 +56 -0
  333. data/vendor/local/share/man/man3/fribidi_get_bidi_types.3 +68 -0
  334. data/vendor/local/share/man/man3/fribidi_get_bracket.3 +59 -0
  335. data/vendor/local/share/man/man3/fribidi_get_bracket_types.3 +73 -0
  336. data/vendor/local/share/man/man3/fribidi_get_joining_type.3 +87 -0
  337. data/vendor/local/share/man/man3/fribidi_get_joining_type_name.3 +83 -0
  338. data/vendor/local/share/man/man3/fribidi_get_joining_types.3 +96 -0
  339. data/vendor/local/share/man/man3/fribidi_get_mirror_char.3 +68 -0
  340. data/vendor/local/share/man/man3/fribidi_get_par_direction.3 +100 -0
  341. data/vendor/local/share/man/man3/fribidi_get_par_embedding_levels.3 +98 -0
  342. data/vendor/local/share/man/man3/fribidi_get_par_embedding_levels_ex.3 +114 -0
  343. data/vendor/local/share/man/man3/fribidi_get_type.3 +50 -0
  344. data/vendor/local/share/man/man3/fribidi_get_type_internal.3 +50 -0
  345. data/vendor/local/share/man/man3/fribidi_join_arabic.3 +92 -0
  346. data/vendor/local/share/man/man3/fribidi_log2vis.3 +124 -0
  347. data/vendor/local/share/man/man3/fribidi_log2vis_get_embedding_levels.3 +97 -0
  348. data/vendor/local/share/man/man3/fribidi_mirroring_status.3 +44 -0
  349. data/vendor/local/share/man/man3/fribidi_parse_charset.3 +78 -0
  350. data/vendor/local/share/man/man3/fribidi_remove_bidi_marks.3 +96 -0
  351. data/vendor/local/share/man/man3/fribidi_reorder_line.3 +146 -0
  352. data/vendor/local/share/man/man3/fribidi_reorder_nsm_status.3 +44 -0
  353. data/vendor/local/share/man/man3/fribidi_set_debug.3 +48 -0
  354. data/vendor/local/share/man/man3/fribidi_set_mirroring.3 +58 -0
  355. data/vendor/local/share/man/man3/fribidi_set_reorder_nsm.3 +60 -0
  356. data/vendor/local/share/man/man3/fribidi_shape.3 +89 -0
  357. data/vendor/local/share/man/man3/fribidi_shape_arabic.3 +95 -0
  358. data/vendor/local/share/man/man3/fribidi_shape_mirroring.3 +71 -0
  359. data/vendor/local/share/man/man3/fribidi_unicode_to_charset.3 +99 -0
  360. data/vendor/local/share/man/man8/genccode.8 +2 -2
  361. data/vendor/local/share/man/man8/gencmn.8 +3 -3
  362. data/vendor/local/share/man/man8/gensprep.8 +3 -3
  363. data/vendor/local/share/man/man8/icupkg.8 +1 -1
  364. metadata +58 -59
  365. data/ext/pango/rb-pango-context.c +0 -79
  366. data/vendor/local/lib/icuin58.dll +0 -0
  367. data/vendor/local/lib/icutu58.dll +0 -0
  368. data/vendor/local/lib/icuuc58.dll +0 -0
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  ********************************************************************************
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  ******************************************************************************
@@ -47,6 +47,7 @@ U_NAMESPACE_BEGIN
47
47
 
48
48
  struct CollationData;
49
49
 
50
+ class CharacterIterator;
50
51
  class CollationIterator;
51
52
  class RuleBasedCollator;
52
53
  class UCollationPCE;
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  ******************************************************************************
@@ -58,7 +58,7 @@
58
58
 
59
59
  #include "unicode/uobject.h"
60
60
  #include "unicode/ucol.h"
61
- #include "unicode/normlzr.h"
61
+ #include "unicode/unorm.h"
62
62
  #include "unicode/locid.h"
63
63
  #include "unicode/uniset.h"
64
64
  #include "unicode/umisc.h"
@@ -158,7 +158,7 @@ class CollationKey;
158
158
  * @see CollationKey
159
159
  * @see CollationElementIterator
160
160
  * @see Locale
161
- * @see Normalizer
161
+ * @see Normalizer2
162
162
  * @version 2.0 11/15/01
163
163
  */
164
164
 
@@ -393,8 +393,8 @@ public:
393
393
  * is less than, greater than or equal to another string array.
394
394
  * <p>Example of use:
395
395
  * <pre>
396
- * . UChar ABC[] = {0x41, 0x42, 0x43, 0}; // = "ABC"
397
- * . UChar abc[] = {0x61, 0x62, 0x63, 0}; // = "abc"
396
+ * . char16_t ABC[] = {0x41, 0x42, 0x43, 0}; // = "ABC"
397
+ * . char16_t abc[] = {0x61, 0x62, 0x63, 0}; // = "abc"
398
398
  * . UErrorCode status = U_ZERO_ERROR;
399
399
  * . Collator *myCollation =
400
400
  * . Collator::createInstance(Locale::getUS(), status);
@@ -420,8 +420,8 @@ public:
420
420
  * target
421
421
  * @deprecated ICU 2.6 use the overload with UErrorCode &
422
422
  */
423
- virtual EComparisonResult compare(const UChar* source, int32_t sourceLength,
424
- const UChar* target, int32_t targetLength)
423
+ virtual EComparisonResult compare(const char16_t* source, int32_t sourceLength,
424
+ const char16_t* target, int32_t targetLength)
425
425
  const;
426
426
 
427
427
  /**
@@ -440,8 +440,8 @@ public:
440
440
  * than target
441
441
  * @stable ICU 2.6
442
442
  */
443
- virtual UCollationResult compare(const UChar* source, int32_t sourceLength,
444
- const UChar* target, int32_t targetLength,
443
+ virtual UCollationResult compare(const char16_t* source, int32_t sourceLength,
444
+ const char16_t* target, int32_t targetLength,
445
445
  UErrorCode &status) const = 0;
446
446
 
447
447
  /**
@@ -517,7 +517,7 @@ public:
517
517
  * @see CollationKey#compare
518
518
  * @stable ICU 2.0
519
519
  */
520
- virtual CollationKey& getCollationKey(const UChar*source,
520
+ virtual CollationKey& getCollationKey(const char16_t*source,
521
521
  int32_t sourceLength,
522
522
  CollationKey& key,
523
523
  UErrorCode& status) const = 0;
@@ -672,7 +672,7 @@ public:
672
672
  UErrorCode& status);
673
673
 
674
674
  /**
675
- * Get name of the object for the desired Locale, in the desired langauge
675
+ * Get name of the object for the desired Locale, in the desired language
676
676
  * @param objectLocale must be from getAvailableLocales
677
677
  * @param displayLocale specifies the desired locale for output
678
678
  * @param name the fill-in parameter of the return value
@@ -685,7 +685,7 @@ public:
685
685
  UnicodeString& name);
686
686
 
687
687
  /**
688
- * Get name of the object for the desired Locale, in the langauge of the
688
+ * Get name of the object for the desired Locale, in the language of the
689
689
  * default locale.
690
690
  * @param objectLocale must be from getAvailableLocales
691
691
  * @param name the fill-in parameter of the return value
@@ -911,7 +911,7 @@ public:
911
911
  * the top of one of the supported reordering groups,
912
912
  * and it must not be beyond the last of those groups.
913
913
  * See setMaxVariable().
914
- * @param varTop one or more (if contraction) UChars to which the variable top should be set
914
+ * @param varTop one or more (if contraction) char16_ts to which the variable top should be set
915
915
  * @param len length of variable top string. If -1 it is considered to be zero terminated.
916
916
  * @param status error code. If error code is set, the return value is undefined. Errors set by this function are: <br>
917
917
  * U_CE_NOT_FOUND_ERROR if more than one character was passed and there is no such contraction<br>
@@ -920,7 +920,7 @@ public:
920
920
  * @return variable top primary weight
921
921
  * @deprecated ICU 53 Call setMaxVariable() instead.
922
922
  */
923
- virtual uint32_t setVariableTop(const UChar *varTop, int32_t len, UErrorCode &status) = 0;
923
+ virtual uint32_t setVariableTop(const char16_t *varTop, int32_t len, UErrorCode &status) = 0;
924
924
 
925
925
  /**
926
926
  * Sets the variable top to the primary weight of the specified string.
@@ -929,7 +929,7 @@ public:
929
929
  * the top of one of the supported reordering groups,
930
930
  * and it must not be beyond the last of those groups.
931
931
  * See setMaxVariable().
932
- * @param varTop a UnicodeString size 1 or more (if contraction) of UChars to which the variable top should be set
932
+ * @param varTop a UnicodeString size 1 or more (if contraction) of char16_ts to which the variable top should be set
933
933
  * @param status error code. If error code is set, the return value is undefined. Errors set by this function are: <br>
934
934
  * U_CE_NOT_FOUND_ERROR if more than one character was passed and there is no such contraction<br>
935
935
  * U_ILLEGAL_ARGUMENT_ERROR if the variable top is beyond
@@ -1002,7 +1002,7 @@ public:
1002
1002
  int32_t resultLength) const = 0;
1003
1003
 
1004
1004
  /**
1005
- * Get the sort key as an array of bytes from a UChar buffer.
1005
+ * Get the sort key as an array of bytes from a char16_t buffer.
1006
1006
  * Sort key byte arrays are zero-terminated and can be compared using
1007
1007
  * strcmp().
1008
1008
  *
@@ -1020,7 +1020,7 @@ public:
1020
1020
  * @return Number of bytes needed for storing the sort key
1021
1021
  * @stable ICU 2.2
1022
1022
  */
1023
- virtual int32_t getSortKey(const UChar*source, int32_t sourceLength,
1023
+ virtual int32_t getSortKey(const char16_t*source, int32_t sourceLength,
1024
1024
  uint8_t*result, int32_t resultLength) const = 0;
1025
1025
 
1026
1026
  /**
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  ********************************************************************************
@@ -16,7 +16,7 @@
16
16
  #include "unicode/utypes.h"
17
17
  /**
18
18
  * \file
19
- * \brief C++ API: Formats decimal numbers in compact form.
19
+ * \brief C++ API: Compatibility APIs for compact decimal number formatting.
20
20
  */
21
21
 
22
22
  #if !UCONFIG_NO_FORMATTING
@@ -30,6 +30,11 @@ U_NAMESPACE_BEGIN
30
30
  class PluralRules;
31
31
 
32
32
  /**
33
+ * <p><strong>IMPORTANT:</strong> New users are strongly encouraged to see if
34
+ * numberformatter.h fits their use case. Although not deprecated, this header
35
+ * is provided for backwards compatibility only.
36
+ * <hr/>
37
+ *
33
38
  * The CompactDecimalFormat produces abbreviated numbers, suitable for display in
34
39
  * environments will limited real estate. For example, 'Hits: 1.2B' instead of
35
40
  * 'Hits: 1,200,000,000'. The format will be appropriate for the given language,
@@ -56,6 +61,9 @@ public:
56
61
 
57
62
  /**
58
63
  * Returns a compact decimal instance for specified locale.
64
+ * <p>
65
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
66
+ * {@link NumberFormatter} instead of NumberFormat.
59
67
  * @param inLocale the given locale.
60
68
  * @param style whether to use short or long style.
61
69
  * @param status error code returned here.
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  **********************************************************************
@@ -46,7 +46,7 @@ class U_I18N_API CurrencyAmount: public Measure {
46
46
  * is invalid, then this will be set to a failing value.
47
47
  * @stable ICU 3.0
48
48
  */
49
- CurrencyAmount(const Formattable& amount, const UChar* isoCode,
49
+ CurrencyAmount(const Formattable& amount, ConstChar16Ptr isoCode,
50
50
  UErrorCode &ec);
51
51
 
52
52
  /**
@@ -59,7 +59,7 @@ class U_I18N_API CurrencyAmount: public Measure {
59
59
  * then this will be set to a failing value.
60
60
  * @stable ICU 3.0
61
61
  */
62
- CurrencyAmount(double amount, const UChar* isoCode,
62
+ CurrencyAmount(double amount, ConstChar16Ptr isoCode,
63
63
  UErrorCode &ec);
64
64
 
65
65
  /**
@@ -115,14 +115,14 @@ class U_I18N_API CurrencyAmount: public Measure {
115
115
  * Return the ISO currency code of this object.
116
116
  * @stable ICU 3.0
117
117
  */
118
- inline const UChar* getISOCurrency() const;
118
+ inline const char16_t* getISOCurrency() const;
119
119
  };
120
120
 
121
121
  inline const CurrencyUnit& CurrencyAmount::getCurrency() const {
122
122
  return (const CurrencyUnit&) getUnit();
123
123
  }
124
124
 
125
- inline const UChar* CurrencyAmount::getISOCurrency() const {
125
+ inline const char16_t* CurrencyAmount::getISOCurrency() const {
126
126
  return getCurrency().getISOCurrency();
127
127
  }
128
128
 
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  *******************************************************************************
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  **********************************************************************
@@ -28,7 +28,7 @@ U_NAMESPACE_BEGIN
28
28
 
29
29
  /**
30
30
  * A unit of currency, such as USD (U.S. dollars) or JPY (Japanese
31
- * yen). This class is a thin wrapper over a UChar string that
31
+ * yen). This class is a thin wrapper over a char16_t string that
32
32
  * subclasses MeasureUnit, for use with Measure and MeasureFormat.
33
33
  *
34
34
  * @author Alan Liu
@@ -36,6 +36,12 @@ U_NAMESPACE_BEGIN
36
36
  */
37
37
  class U_I18N_API CurrencyUnit: public MeasureUnit {
38
38
  public:
39
+ /**
40
+ * Default constructor. Initializes currency code to "XXX" (no currency).
41
+ * @draft ICU 60
42
+ */
43
+ CurrencyUnit();
44
+
39
45
  /**
40
46
  * Construct an object with the given ISO currency code.
41
47
  * @param isoCode the 3-letter ISO 4217 currency code; must not be
@@ -44,7 +50,7 @@ class U_I18N_API CurrencyUnit: public MeasureUnit {
44
50
  * then this will be set to a failing value.
45
51
  * @stable ICU 3.0
46
52
  */
47
- CurrencyUnit(const UChar* isoCode, UErrorCode &ec);
53
+ CurrencyUnit(ConstChar16Ptr isoCode, UErrorCode &ec);
48
54
 
49
55
  /**
50
56
  * Copy constructor
@@ -52,6 +58,18 @@ class U_I18N_API CurrencyUnit: public MeasureUnit {
52
58
  */
53
59
  CurrencyUnit(const CurrencyUnit& other);
54
60
 
61
+ #ifndef U_HIDE_DRAFT_API
62
+ /**
63
+ * Copy constructor from MeasureUnit. This constructor allows you to
64
+ * restore a CurrencyUnit that was sliced to MeasureUnit.
65
+ *
66
+ * @param measureUnit The MeasureUnit to copy from.
67
+ * @param ec Set to a failing value if the MeasureUnit is not a currency.
68
+ * @draft ICU 60
69
+ */
70
+ CurrencyUnit(const MeasureUnit& measureUnit, UErrorCode &ec);
71
+ #endif /* U_HIDE_DRAFT_API */
72
+
55
73
  /**
56
74
  * Assignment operator
57
75
  * @stable ICU 3.0
@@ -93,16 +111,16 @@ class U_I18N_API CurrencyUnit: public MeasureUnit {
93
111
  * Return the ISO currency code of this object.
94
112
  * @stable ICU 3.0
95
113
  */
96
- inline const UChar* getISOCurrency() const;
114
+ inline const char16_t* getISOCurrency() const;
97
115
 
98
116
  private:
99
117
  /**
100
118
  * The ISO 4217 code of this object.
101
119
  */
102
- UChar isoCode[4];
120
+ char16_t isoCode[4];
103
121
  };
104
122
 
105
- inline const UChar* CurrencyUnit::getISOCurrency() const {
123
+ inline const char16_t* CurrencyUnit::getISOCurrency() const {
106
124
  return isoCode;
107
125
  }
108
126
 
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  ********************************************************************************
@@ -44,7 +44,8 @@ class TimeZone;
44
44
  class DateTimePatternGenerator;
45
45
 
46
46
  // explicit template instantiation. see digitlst.h
47
- #if defined (_MSC_VER)
47
+ // (When building DLLs for Windows this is required.)
48
+ #if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
48
49
  template class U_I18N_API EnumSet<UDateFormatBooleanAttribute,
49
50
  0,
50
51
  UDAT_BOOLEAN_ATTRIBUTE_COUNT>;
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  **********************************************************************
@@ -1,4 +1,4 @@
1
- // Copyright (C) 2016 and later: Unicode, Inc. and others.
1
+ // © 2016 and later: Unicode, Inc. and others.
2
2
  // License & terms of use: http://www.unicode.org/copyright.html
3
3
  /*
4
4
  ********************************************************************************
@@ -34,7 +34,9 @@
34
34
 
35
35
  #include "unicode/uobject.h"
36
36
  #include "unicode/locid.h"
37
+ #include "unicode/numsys.h"
37
38
  #include "unicode/unum.h"
39
+ #include "unicode/unistr.h"
38
40
 
39
41
  /**
40
42
  * \file
@@ -78,10 +80,6 @@ U_NAMESPACE_BEGIN
78
80
  * If you supply a pattern with multiple grouping characters, the interval
79
81
  * between the last one and the end of the integer is the one that is
80
82
  * used. So "#,##,###,####" == "######,####" == "##,####,####".
81
- * <P>
82
- * This class only handles localized digits where the 10 digits are
83
- * contiguous in Unicode, from 0 to 9. Other digits sets (such as
84
- * superscripts) would need a different subclass.
85
83
  */
86
84
  class U_I18N_API DecimalFormatSymbols : public UObject {
87
85
  public:
@@ -183,6 +181,26 @@ public:
183
181
  */
184
182
  DecimalFormatSymbols(const Locale& locale, UErrorCode& status);
185
183
 
184
+ #ifndef U_HIDE_DRAFT_API
185
+ /**
186
+ * Creates a DecimalFormatSymbols instance for the given locale with digits and symbols
187
+ * corresponding to the given NumberingSystem.
188
+ *
189
+ * This constructor behaves equivalently to the normal constructor called with a locale having a
190
+ * "numbers=xxxx" keyword specifying the numbering system by name.
191
+ *
192
+ * In this constructor, the NumberingSystem argument will be used even if the locale has its own
193
+ * "numbers=xxxx" keyword.
194
+ *
195
+ * @param locale The locale to get symbols for.
196
+ * @param ns The numbering system.
197
+ * @param status Input/output parameter, set to success or
198
+ * failure code upon return.
199
+ * @draft ICU 60
200
+ */
201
+ DecimalFormatSymbols(const Locale& locale, const NumberingSystem& ns, UErrorCode& status);
202
+ #endif /* U_HIDE_DRAFT_API */
203
+
186
204
  /**
187
205
  * Create a DecimalFormatSymbols object for the default locale.
188
206
  * This constructor will not fail. If the resource file data is
@@ -345,8 +363,11 @@ private:
345
363
  * @param success Input/output parameter, set to success or
346
364
  * failure code upon return.
347
365
  * @param useLastResortData determine if use last resort data
366
+ * @param ns The NumberingSystem to use; otherwise, fall
367
+ * back to the locale.
348
368
  */
349
- void initialize(const Locale& locale, UErrorCode& success, UBool useLastResortData = FALSE);
369
+ void initialize(const Locale& locale, UErrorCode& success,
370
+ UBool useLastResortData = FALSE, const NumberingSystem* ns = nullptr);
350
371
 
351
372
  /**
352
373
  * Initialize the symbols with default values.
@@ -371,6 +392,13 @@ public:
371
392
  inline UBool isCustomIntlCurrencySymbol() const {
372
393
  return fIsCustomIntlCurrencySymbol;
373
394
  }
395
+
396
+ /**
397
+ * @internal For ICU use only
398
+ */
399
+ inline UChar32 getCodePointZero() const {
400
+ return fCodePointZero;
401
+ }
374
402
  #endif /* U_HIDE_INTERNAL_API */
375
403
 
376
404
  /**
@@ -385,14 +413,27 @@ public:
385
413
  * @return the format symbol by the param 'symbol'
386
414
  * @internal
387
415
  */
388
- inline const UnicodeString &getConstSymbol(ENumberFormatSymbol symbol) const;
416
+ inline const UnicodeString& getConstSymbol(ENumberFormatSymbol symbol) const;
389
417
 
390
418
  #ifndef U_HIDE_INTERNAL_API
419
+ /**
420
+ * Returns the const UnicodeString reference, like getConstSymbol,
421
+ * corresponding to the digit with the given value. This is equivalent
422
+ * to accessing the symbol from getConstSymbol with the corresponding
423
+ * key, such as kZeroDigitSymbol or kOneDigitSymbol.
424
+ *
425
+ * @param digit The digit, an integer between 0 and 9 inclusive.
426
+ * If outside the range 0 to 9, the zero digit is returned.
427
+ * @return the format symbol for the given digit.
428
+ * @internal This API is currently for ICU use only.
429
+ */
430
+ inline const UnicodeString& getConstDigitSymbol(int32_t digit) const;
431
+
391
432
  /**
392
433
  * Returns that pattern stored in currecy info. Internal API for use by NumberFormat API.
393
434
  * @internal
394
435
  */
395
- inline const UChar* getCurrencyPattern(void) const;
436
+ inline const char16_t* getCurrencyPattern(void) const;
396
437
  #endif /* U_HIDE_INTERNAL_API */
397
438
 
398
439
  private:
@@ -419,11 +460,27 @@ private:
419
460
  */
420
461
  UnicodeString fNoSymbol;
421
462
 
463
+ /**
464
+ * Dealing with code points is faster than dealing with strings when formatting. Because of
465
+ * this, we maintain a value containing the zero code point that is used whenever digitStrings
466
+ * represents a sequence of ten code points in order.
467
+ *
468
+ * <p>If the value stored here is positive, it means that the code point stored in this value
469
+ * corresponds to the digitStrings array, and codePointZero can be used instead of the
470
+ * digitStrings array for the purposes of efficient formatting; if -1, then digitStrings does
471
+ * *not* contain a sequence of code points, and it must be used directly.
472
+ *
473
+ * <p>It is assumed that codePointZero always shadows the value in digitStrings. codePointZero
474
+ * should never be set directly; rather, it should be updated only when digitStrings mutates.
475
+ * That is, the flow of information is digitStrings -> codePointZero, not the other way.
476
+ */
477
+ UChar32 fCodePointZero;
478
+
422
479
  Locale locale;
423
480
 
424
481
  char actualLocale[ULOC_FULLNAME_CAPACITY];
425
482
  char validLocale[ULOC_FULLNAME_CAPACITY];
426
- const UChar* currPattern;
483
+ const char16_t* currPattern;
427
484
 
428
485
  UnicodeString currencySpcBeforeSym[UNUM_CURRENCY_SPACING_COUNT];
429
486
  UnicodeString currencySpcAfterSym[UNUM_CURRENCY_SPACING_COUNT];
@@ -444,7 +501,7 @@ DecimalFormatSymbols::getSymbol(ENumberFormatSymbol symbol) const {
444
501
  return *strPtr;
445
502
  }
446
503
 
447
- // See comments above for this function. Not hidden with #ifndef U_HIDE_INTERNAL_API
504
+ // See comments above for this function. Not hidden with #ifdef U_HIDE_INTERNAL_API
448
505
  inline const UnicodeString &
449
506
  DecimalFormatSymbols::getConstSymbol(ENumberFormatSymbol symbol) const {
450
507
  const UnicodeString *strPtr;
@@ -456,6 +513,19 @@ DecimalFormatSymbols::getConstSymbol(ENumberFormatSymbol symbol) const {
456
513
  return *strPtr;
457
514
  }
458
515
 
516
+ #ifndef U_HIDE_INTERNAL_API
517
+ inline const UnicodeString& DecimalFormatSymbols::getConstDigitSymbol(int32_t digit) const {
518
+ if (digit < 0 || digit > 9) {
519
+ digit = 0;
520
+ }
521
+ if (digit == 0) {
522
+ return fSymbols[kZeroDigitSymbol];
523
+ }
524
+ ENumberFormatSymbol key = static_cast<ENumberFormatSymbol>(kOneDigitSymbol + digit - 1);
525
+ return fSymbols[key];
526
+ }
527
+ #endif
528
+
459
529
  // -------------------------------------
460
530
 
461
531
  inline void
@@ -472,14 +542,20 @@ DecimalFormatSymbols::setSymbol(ENumberFormatSymbol symbol, const UnicodeString
472
542
 
473
543
  // If the zero digit is being set to a known zero digit according to Unicode,
474
544
  // then we automatically set the corresponding 1-9 digits
475
- if ( propogateDigits && symbol == kZeroDigitSymbol && value.countChar32() == 1 ) {
545
+ // Also record updates to fCodePointZero. Be conservative if in doubt.
546
+ if (symbol == kZeroDigitSymbol) {
476
547
  UChar32 sym = value.char32At(0);
477
- if ( u_charDigitValue(sym) == 0 ) {
548
+ if ( propogateDigits && u_charDigitValue(sym) == 0 && value.countChar32() == 1 ) {
549
+ fCodePointZero = sym;
478
550
  for ( int8_t i = 1 ; i<= 9 ; i++ ) {
479
551
  sym++;
480
552
  fSymbols[(int)kOneDigitSymbol+i-1] = UnicodeString(sym);
481
553
  }
554
+ } else {
555
+ fCodePointZero = -1;
482
556
  }
557
+ } else if (symbol >= kOneDigitSymbol && symbol <= kNineDigitSymbol) {
558
+ fCodePointZero = -1;
483
559
  }
484
560
  }
485
561
 
@@ -491,7 +567,7 @@ DecimalFormatSymbols::getLocale() const {
491
567
  }
492
568
 
493
569
  #ifndef U_HIDE_INTERNAL_API
494
- inline const UChar*
570
+ inline const char16_t*
495
571
  DecimalFormatSymbols::getCurrencyPattern() const {
496
572
  return currPattern;
497
573
  }