pango 3.0.7-x86-mingw32 → 3.0.8-x86-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 (351) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +6 -6
  3. data/ext/pango/extconf.rb +1 -0
  4. data/lib/2.2/pango.so +0 -0
  5. data/lib/2.3/pango.so +0 -0
  6. data/lib/pango.rb +2 -10
  7. data/vendor/local/bin/derb.exe +0 -0
  8. data/vendor/local/bin/genbrk.exe +0 -0
  9. data/vendor/local/bin/genccode.exe +0 -0
  10. data/vendor/local/bin/gencfu.exe +0 -0
  11. data/vendor/local/bin/gencmn.exe +0 -0
  12. data/vendor/local/bin/gencnval.exe +0 -0
  13. data/vendor/local/bin/gendict.exe +0 -0
  14. data/vendor/local/bin/gennorm2.exe +0 -0
  15. data/vendor/local/bin/genrb.exe +0 -0
  16. data/vendor/local/bin/gensprep.exe +0 -0
  17. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  18. data/vendor/local/bin/hb-shape.exe +0 -0
  19. data/vendor/local/bin/hb-view.exe +0 -0
  20. data/vendor/local/bin/icu-config +6 -7
  21. data/vendor/local/bin/icuinfo.exe +0 -0
  22. data/vendor/local/bin/icupkg.exe +0 -0
  23. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  24. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  25. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  26. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  27. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  28. data/vendor/local/bin/makeconv.exe +0 -0
  29. data/vendor/local/bin/pango-view.exe +0 -0
  30. data/vendor/local/bin/pkgdata.exe +0 -0
  31. data/vendor/local/bin/uconv.exe +0 -0
  32. data/vendor/local/include/harfbuzz/hb-blob.h +12 -12
  33. data/vendor/local/include/harfbuzz/hb-buffer.h +181 -78
  34. data/vendor/local/include/harfbuzz/hb-common.h +23 -17
  35. data/vendor/local/include/harfbuzz/hb-deprecated.h +10 -0
  36. data/vendor/local/include/harfbuzz/hb-face.h +17 -17
  37. data/vendor/local/include/harfbuzz/hb-font.h +180 -79
  38. data/vendor/local/include/harfbuzz/hb-ft.h +16 -9
  39. data/vendor/local/include/harfbuzz/hb-glib.h +4 -4
  40. data/vendor/local/include/harfbuzz/hb-icu.h +3 -3
  41. data/vendor/local/include/harfbuzz/hb-ot-font.h +1 -1
  42. data/vendor/local/include/harfbuzz/hb-ot-layout.h +28 -28
  43. data/vendor/local/include/harfbuzz/hb-ot-shape.h +2 -2
  44. data/vendor/local/include/harfbuzz/hb-ot-tag.h +4 -4
  45. data/vendor/local/include/harfbuzz/hb-set.h +29 -26
  46. data/vendor/local/include/harfbuzz/hb-shape-plan.h +9 -9
  47. data/vendor/local/include/harfbuzz/hb-shape.h +5 -5
  48. data/vendor/local/include/harfbuzz/hb-unicode.h +47 -31
  49. data/vendor/local/include/harfbuzz/hb-version.h +6 -6
  50. data/vendor/local/include/harfbuzz/hb.h +4 -0
  51. data/vendor/local/include/layout/LELanguages.h +2 -5
  52. data/vendor/local/include/layout/LEScripts.h +3 -62
  53. data/vendor/local/include/layout/LETableReference.h +15 -3
  54. data/vendor/local/include/pango-1.0/pango/pango-attributes.h +27 -1
  55. data/vendor/local/include/pango-1.0/pango/pango-engine.h +50 -31
  56. data/vendor/local/include/pango-1.0/pango/pango-features.h +3 -3
  57. data/vendor/local/include/pango-1.0/pango/pango-font.h +1 -0
  58. data/vendor/local/include/pango-1.0/pango/pango-glyph-item.h +2 -0
  59. data/vendor/local/include/pango-1.0/pango/pango-glyph.h +5 -0
  60. data/vendor/local/include/pango-1.0/pango/pango-item.h +4 -0
  61. data/vendor/local/include/pango-1.0/pango/pango-layout.h +3 -0
  62. data/vendor/local/include/pango-1.0/pango/pango-matrix.h +2 -0
  63. data/vendor/local/include/pango-1.0/pango/pango-modules.h +6 -0
  64. data/vendor/local/include/pango-1.0/pango/pango-ot.h +8 -5
  65. data/vendor/local/include/pango-1.0/pango/pango-renderer.h +9 -2
  66. data/vendor/local/include/pango-1.0/pango/pango-script.h +63 -1
  67. data/vendor/local/include/pango-1.0/pango/pango-utils.h +12 -0
  68. data/vendor/local/include/pango-1.0/pango/pangofc-font.h +7 -10
  69. data/vendor/local/include/pango-1.0/pango/pangofc-fontmap.h +25 -16
  70. data/vendor/local/include/unicode/brkiter.h +6 -3
  71. data/vendor/local/include/unicode/bytestriebuilder.h +3 -1
  72. data/vendor/local/include/unicode/coll.h +21 -18
  73. data/vendor/local/include/unicode/compactdecimalformat.h +87 -3
  74. data/vendor/local/include/unicode/currpinf.h +2 -1
  75. data/vendor/local/include/unicode/datefmt.h +19 -41
  76. data/vendor/local/include/unicode/dcfmtsym.h +28 -9
  77. data/vendor/local/include/unicode/decimfmt.h +126 -304
  78. data/vendor/local/include/unicode/dtfmtsym.h +50 -19
  79. data/vendor/local/include/unicode/dtitvfmt.h +89 -30
  80. data/vendor/local/include/unicode/dtitvinf.h +63 -60
  81. data/vendor/local/include/unicode/dtptngen.h +81 -30
  82. data/vendor/local/include/unicode/filteredbrk.h +14 -24
  83. data/vendor/local/include/unicode/icuplug.h +9 -2
  84. data/vendor/local/include/unicode/listformatter.h +2 -2
  85. data/vendor/local/include/unicode/localpointer.h +231 -13
  86. data/vendor/local/include/unicode/locdspnm.h +2 -2
  87. data/vendor/local/include/unicode/locid.h +1 -3
  88. data/vendor/local/include/unicode/measfmt.h +14 -14
  89. data/vendor/local/include/unicode/measunit.h +213 -225
  90. data/vendor/local/include/unicode/normlzr.h +55 -43
  91. data/vendor/local/include/unicode/numfmt.h +60 -67
  92. data/vendor/local/include/unicode/platform.h +96 -3
  93. data/vendor/local/include/unicode/plurrule.h +5 -0
  94. data/vendor/local/include/unicode/rbnf.h +43 -4
  95. data/vendor/local/include/unicode/regex.h +14 -4
  96. data/vendor/local/include/unicode/region.h +5 -11
  97. data/vendor/local/include/unicode/reldatefmt.h +53 -43
  98. data/vendor/local/include/unicode/scientificnumberformatter.h +9 -11
  99. data/vendor/local/include/unicode/simpleformatter.h +295 -0
  100. data/vendor/local/include/unicode/smpdtfmt.h +36 -22
  101. data/vendor/local/include/unicode/tblcoll.h +32 -31
  102. data/vendor/local/include/unicode/timezone.h +4 -6
  103. data/vendor/local/include/unicode/tmunit.h +13 -13
  104. data/vendor/local/include/unicode/tzfmt.h +3 -6
  105. data/vendor/local/include/unicode/tznames.h +2 -4
  106. data/vendor/local/include/unicode/ubrk.h +14 -2
  107. data/vendor/local/include/unicode/uchar.h +61 -8
  108. data/vendor/local/include/unicode/ucharstriebuilder.h +1 -1
  109. data/vendor/local/include/unicode/ucol.h +2 -0
  110. data/vendor/local/include/unicode/uconfig.h +11 -6
  111. data/vendor/local/include/unicode/ucurr.h +24 -32
  112. data/vendor/local/include/unicode/udat.h +103 -87
  113. data/vendor/local/include/unicode/udateintervalformat.h +4 -1
  114. data/vendor/local/include/unicode/udatpg.h +6 -4
  115. data/vendor/local/include/unicode/udisplaycontext.h +6 -12
  116. data/vendor/local/include/unicode/ufieldpositer.h +10 -12
  117. data/vendor/local/include/unicode/uldnames.h +2 -2
  118. data/vendor/local/include/unicode/ulistformatter.h +9 -11
  119. data/vendor/local/include/unicode/uloc.h +13 -16
  120. data/vendor/local/include/unicode/umachine.h +2 -2
  121. data/vendor/local/include/unicode/uniset.h +25 -3
  122. data/vendor/local/include/unicode/unistr.h +168 -27
  123. data/vendor/local/include/unicode/unorm.h +40 -133
  124. data/vendor/local/include/unicode/unorm2.h +97 -1
  125. data/vendor/local/include/unicode/unum.h +61 -24
  126. data/vendor/local/include/unicode/uregex.h +7 -9
  127. data/vendor/local/include/unicode/ureldatefmt.h +365 -0
  128. data/vendor/local/include/unicode/urename.h +12 -1
  129. data/vendor/local/include/unicode/ures.h +157 -142
  130. data/vendor/local/include/unicode/uscript.h +1 -1
  131. data/vendor/local/include/unicode/ustdio.h +3 -5
  132. data/vendor/local/include/unicode/utf8.h +2 -2
  133. data/vendor/local/include/unicode/utypes.h +4 -6
  134. data/vendor/local/include/unicode/uvernum.h +7 -7
  135. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  136. data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
  137. data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
  138. data/vendor/local/lib/icu/{55.1 → 57.1}/Makefile.inc +6 -6
  139. data/vendor/local/lib/icu/{55.1 → 57.1}/pkgdata.inc +1 -1
  140. data/vendor/local/lib/icu/Makefile.inc +6 -6
  141. data/vendor/local/lib/icu/pkgdata.inc +1 -1
  142. data/vendor/local/lib/icudt.dll +0 -0
  143. data/vendor/local/lib/{icudt55.dll → icudt57.dll} +0 -0
  144. data/vendor/local/lib/icuin.dll +0 -0
  145. data/vendor/local/lib/icuin57.dll +0 -0
  146. data/vendor/local/lib/icuio.dll +0 -0
  147. data/vendor/local/lib/icuio57.dll +0 -0
  148. data/vendor/local/lib/icule.dll +0 -0
  149. data/vendor/local/lib/icule57.dll +0 -0
  150. data/vendor/local/lib/iculx.dll +0 -0
  151. data/vendor/local/lib/iculx57.dll +0 -0
  152. data/vendor/local/lib/icutest.dll +0 -0
  153. data/vendor/local/lib/icutest57.dll +0 -0
  154. data/vendor/local/lib/icutu.dll +0 -0
  155. data/vendor/local/lib/icutu57.dll +0 -0
  156. data/vendor/local/lib/icuuc.dll +0 -0
  157. data/vendor/local/lib/icuuc57.dll +0 -0
  158. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  159. data/vendor/local/lib/libharfbuzz-icu.la +4 -4
  160. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  161. data/vendor/local/lib/libharfbuzz.la +4 -4
  162. data/vendor/local/lib/libicudt.dll.a +0 -0
  163. data/vendor/local/lib/libicuin.dll.a +0 -0
  164. data/vendor/local/lib/libicuio.dll.a +0 -0
  165. data/vendor/local/lib/libicule.dll.a +0 -0
  166. data/vendor/local/lib/libiculx.dll.a +0 -0
  167. data/vendor/local/lib/libicutest.dll.a +0 -0
  168. data/vendor/local/lib/libicutu.dll.a +0 -0
  169. data/vendor/local/lib/libicuuc.dll.a +0 -0
  170. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  171. data/vendor/local/lib/libpango-1.0.la +6 -6
  172. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  173. data/vendor/local/lib/libpangocairo-1.0.la +6 -6
  174. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  175. data/vendor/local/lib/libpangoft2-1.0.la +6 -6
  176. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  177. data/vendor/local/lib/libpangowin32-1.0.la +6 -6
  178. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  179. data/vendor/local/lib/pkgconfig/harfbuzz.pc +2 -2
  180. data/vendor/local/lib/pkgconfig/icu-i18n.pc +6 -6
  181. data/vendor/local/lib/pkgconfig/icu-io.pc +6 -6
  182. data/vendor/local/lib/pkgconfig/icu-le.pc +6 -6
  183. data/vendor/local/lib/pkgconfig/icu-lx.pc +6 -6
  184. data/vendor/local/lib/pkgconfig/icu-uc.pc +6 -6
  185. data/vendor/local/lib/pkgconfig/pango.pc +3 -5
  186. data/vendor/local/lib/pkgconfig/pangocairo.pc +3 -2
  187. data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
  188. data/vendor/local/lib/pkgconfig/pangowin32.pc +3 -2
  189. data/vendor/local/share/gir-1.0/Pango-1.0.gir +891 -307
  190. data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +45 -27
  191. data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +12 -5
  192. data/vendor/local/share/gtk-doc/html/harfbuzz/HarfBuzz.png +0 -0
  193. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-10.html +41 -0
  194. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-11.html +34 -0
  195. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-2.html +722 -0
  196. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-20.html +38 -0
  197. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-22.html +34 -0
  198. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-28.html +34 -0
  199. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-30.html +41 -0
  200. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-31.html +46 -0
  201. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-38.html +45 -0
  202. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-39.html +34 -0
  203. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-41.html +34 -0
  204. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-42.html +38 -0
  205. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-5.html +56 -0
  206. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-7.html +191 -0
  207. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-8.html +34 -0
  208. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-0-5.html +42 -0
  209. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-1-2.html +38 -0
  210. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-1-3.html +49 -0
  211. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +226 -58
  212. data/vendor/local/share/gtk-doc/html/harfbuzz/building.html +80 -0
  213. data/vendor/local/share/gtk-doc/html/harfbuzz/{ch06.html → ch07.html} +8 -2
  214. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +13 -2
  215. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Buffers.html +2738 -0
  216. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Shaping.html +20 -22
  217. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +38 -38
  218. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +287 -189
  219. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +2 -2
  220. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +2 -2
  221. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +38 -38
  222. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +403 -126
  223. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +85 -10
  224. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +17 -2
  225. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +172 -2
  226. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +2 -2
  227. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +2 -2
  228. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-font.html +76 -0
  229. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +43 -3
  230. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-shape.html +80 -0
  231. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +6 -6
  232. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +2 -2
  233. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +39 -39
  234. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +21 -21
  235. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +51 -46
  236. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +2 -2
  237. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +11 -11
  238. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +4 -4
  239. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +262 -190
  240. data/vendor/local/share/gtk-doc/html/harfbuzz/hello-harfbuzz.html +2 -2
  241. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +61 -7
  242. data/vendor/local/share/gtk-doc/html/harfbuzz/install-harfbuzz.html +59 -0
  243. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +9 -8
  244. data/vendor/local/share/gtk-doc/html/harfbuzz/pt01.html +5 -0
  245. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +37 -6
  246. data/vendor/local/share/gtk-doc/html/harfbuzz/why-is-it-called-harfbuzz.html +2 -2
  247. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +22 -19
  248. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +15 -12
  249. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +9 -12
  250. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +29 -35
  251. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +206 -97
  252. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +33 -8
  253. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +150 -57
  254. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +12 -4
  255. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +3 -4
  256. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +3 -4
  257. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +3 -4
  258. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +3 -4
  259. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +3 -4
  260. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +3 -4
  261. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +3 -4
  262. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +3 -4
  263. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +3 -4
  264. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +3 -4
  265. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +4 -5
  266. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +4 -5
  267. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +5 -6
  268. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +5 -6
  269. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +7 -7
  270. data/vendor/local/share/gtk-doc/html/pango/api-index-1-38.html +79 -0
  271. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +3 -4
  272. data/vendor/local/share/gtk-doc/html/pango/{tools.html → api-index-1-40.html} +9 -13
  273. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +3 -4
  274. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +3 -4
  275. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +161 -4
  276. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +51 -8
  277. data/vendor/local/share/gtk-doc/html/pango/index.html +8 -11
  278. data/vendor/local/share/gtk-doc/html/pango/index.sgml +251 -4
  279. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +3 -4
  280. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +18 -23
  281. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +121 -123
  282. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +5 -7
  283. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +10 -14
  284. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +28 -37
  285. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +170 -224
  286. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +35 -38
  287. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +257 -170
  288. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +186 -214
  289. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +117 -132
  290. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +26 -41
  291. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +140 -153
  292. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +270 -75
  293. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +28 -34
  294. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +361 -203
  295. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +194 -161
  296. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +16 -19
  297. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +21 -28
  298. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +34 -48
  299. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +52 -57
  300. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +10 -11
  301. data/vendor/local/share/gtk-doc/html/pango/pango.devhelp2 +285 -39
  302. data/vendor/local/share/gtk-doc/html/pango/pango.html +3 -4
  303. data/vendor/local/share/gtk-doc/html/pango/rendering.html +3 -4
  304. data/vendor/local/share/gtk-doc/html/pango/style.css +9 -6
  305. data/vendor/local/share/icu/57.1/LICENSE +393 -0
  306. data/vendor/local/share/icu/{55.1 → 57.1}/config/mh-mingw +0 -0
  307. data/vendor/local/share/icu/{55.1 → 57.1}/install-sh +0 -0
  308. data/vendor/local/share/icu/{55.1 → 57.1}/mkinstalldirs +0 -0
  309. data/vendor/local/share/man/man1/derb.1 +2 -2
  310. data/vendor/local/share/man/man1/genbrk.1 +2 -2
  311. data/vendor/local/share/man/man1/gencfu.1 +1 -1
  312. data/vendor/local/share/man/man1/gencnval.1 +3 -3
  313. data/vendor/local/share/man/man1/gendict.1 +2 -2
  314. data/vendor/local/share/man/man1/genrb.1 +3 -3
  315. data/vendor/local/share/man/man1/icu-config.1 +2 -2
  316. data/vendor/local/share/man/man1/makeconv.1 +3 -3
  317. data/vendor/local/share/man/man1/pango-view.1 +113 -1
  318. data/vendor/local/share/man/man1/pkgdata.1 +2 -2
  319. data/vendor/local/share/man/man1/uconv.1 +2 -2
  320. data/vendor/local/share/man/man8/genccode.8 +2 -2
  321. data/vendor/local/share/man/man8/gencmn.8 +3 -3
  322. data/vendor/local/share/man/man8/gensprep.8 +3 -3
  323. data/vendor/local/share/man/man8/icupkg.8 +1 -1
  324. metadata +49 -40
  325. data/lib/2.0/pango.so +0 -0
  326. data/lib/2.1/pango.so +0 -0
  327. data/vendor/local/bin/pango-querymodules.exe +0 -0
  328. data/vendor/local/etc/pango/pango.modules +0 -19
  329. data/vendor/local/lib/icuin55.dll +0 -0
  330. data/vendor/local/lib/icuio55.dll +0 -0
  331. data/vendor/local/lib/icule55.dll +0 -0
  332. data/vendor/local/lib/iculx55.dll +0 -0
  333. data/vendor/local/lib/icutest55.dll +0 -0
  334. data/vendor/local/lib/icutu55.dll +0 -0
  335. data/vendor/local/lib/icuuc55.dll +0 -0
  336. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  337. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  338. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +0 -41
  339. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  340. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  341. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +0 -41
  342. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  343. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  344. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +0 -41
  345. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  346. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  347. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +0 -41
  348. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +0 -1704
  349. data/vendor/local/share/gtk-doc/html/pango/pango-querymodules.html +0 -131
  350. data/vendor/local/share/icu/55.1/license.html +0 -384
  351. data/vendor/local/share/man/man1/pango-querymodules.1 +0 -106
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ********************************************************************************
3
- * Copyright (C) 2012-2014, International Business Machines
3
+ * Copyright (C) 2012-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ********************************************************************************
6
6
  *
@@ -121,6 +121,23 @@ public:
121
121
  UnicodeString& appendTo,
122
122
  FieldPosition& pos) const;
123
123
 
124
+ /**
125
+ * Format a double or long number using base-10 representation.
126
+ *
127
+ * @param number The value to be formatted.
128
+ * @param appendTo Output parameter to receive result.
129
+ * Result is appended to existing contents.
130
+ * @param pos On input: an alignment field, if desired.
131
+ * On output: the offsets of the alignment field.
132
+ * @param status
133
+ * @return Reference to 'appendTo' parameter.
134
+ * @internal
135
+ */
136
+ virtual UnicodeString& format(double number,
137
+ UnicodeString& appendTo,
138
+ FieldPosition& pos,
139
+ UErrorCode &status) const;
140
+
124
141
  /**
125
142
  * Format a double or long number using base-10 representation.
126
143
  * Currently sets status to U_UNSUPPORTED_ERROR.
@@ -140,6 +157,57 @@ public:
140
157
  FieldPositionIterator* posIter,
141
158
  UErrorCode& status) const;
142
159
 
160
+ /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual. */
161
+ /**
162
+ * Format a long number using base-10 representation.
163
+ *
164
+ * @param number The value to be formatted.
165
+ * @param appendTo Output parameter to receive result.
166
+ * Result is appended to existing contents.
167
+ * @param pos On input: an alignment field, if desired.
168
+ * On output: the offsets of the alignment field.
169
+ * @return Reference to 'appendTo' parameter.
170
+ * @draft ICU 56
171
+ */
172
+ virtual UnicodeString& format(int32_t number,
173
+ UnicodeString& appendTo,
174
+ FieldPosition& pos) const;
175
+
176
+ /**
177
+ * Format a long number using base-10 representation.
178
+ *
179
+ * @param number The value to be formatted.
180
+ * @param appendTo Output parameter to receive result.
181
+ * Result is appended to existing contents.
182
+ * @param pos On input: an alignment field, if desired.
183
+ * On output: the offsets of the alignment field.
184
+ * @return Reference to 'appendTo' parameter.
185
+ * @internal
186
+ */
187
+ virtual UnicodeString& format(int32_t number,
188
+ UnicodeString& appendTo,
189
+ FieldPosition& pos,
190
+ UErrorCode &status) const;
191
+
192
+ /**
193
+ * Format a long number using base-10 representation.
194
+ * Currently sets status to U_UNSUPPORTED_ERROR
195
+ *
196
+ * @param number The value to be formatted.
197
+ * @param appendTo Output parameter to receive result.
198
+ * Result is appended to existing contents.
199
+ * @param posIter On return, can be used to iterate over positions
200
+ * of fields generated by this format call.
201
+ * Can be NULL.
202
+ * @param status Output param filled with success/failure status.
203
+ * @return Reference to 'appendTo' parameter.
204
+ * @internal
205
+ */
206
+ virtual UnicodeString& format(int32_t number,
207
+ UnicodeString& appendTo,
208
+ FieldPositionIterator* posIter,
209
+ UErrorCode& status) const;
210
+
143
211
  /**
144
212
  * Format an int64 number using base-10 representation.
145
213
  *
@@ -155,6 +223,22 @@ public:
155
223
  UnicodeString& appendTo,
156
224
  FieldPosition& pos) const;
157
225
 
226
+ /**
227
+ * Format an int64 number using base-10 representation.
228
+ *
229
+ * @param number The value to be formatted.
230
+ * @param appendTo Output parameter to receive result.
231
+ * Result is appended to existing contents.
232
+ * @param pos On input: an alignment field, if desired.
233
+ * On output: the offsets of the alignment field.
234
+ * @return Reference to 'appendTo' parameter.
235
+ * @internal
236
+ */
237
+ virtual UnicodeString& format(int64_t number,
238
+ UnicodeString& appendTo,
239
+ FieldPosition& pos,
240
+ UErrorCode &status) const;
241
+
158
242
  /**
159
243
  * Format an int64 number using base-10 representation.
160
244
  * Currently sets status to U_UNSUPPORTED_ERROR
@@ -219,7 +303,7 @@ public:
219
303
  * Format a decimal number. Currently sets status to U_UNSUPPORTED_ERROR.
220
304
  * The number is a DigitList wrapper onto a floating point decimal number.
221
305
  * The default implementation in NumberFormat converts the decimal number
222
- * to a double and formats that.
306
+ * to a double and formats that.
223
307
  *
224
308
  * @param number The number, a DigitList format Decimal Floating Point.
225
309
  * @param appendTo Output parameter to receive result.
@@ -252,7 +336,7 @@ public:
252
336
  * CompactDecimalFormat does not support parsing. This implementation
253
337
  * sets status to U_UNSUPPORTED_ERROR
254
338
  *
255
- * @param text Unused.
339
+ * @param text Unused.
256
340
  * @param result Does not change.
257
341
  * @param status Always set to U_UNSUPPORTED_ERROR.
258
342
  * @stable ICU 51
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *******************************************************************************
3
- * Copyright (C) 2009-2011, International Business Machines Corporation and *
3
+ * Copyright (C) 2009-2015, International Business Machines Corporation and *
4
4
  * others. All Rights Reserved. *
5
5
  *******************************************************************************
6
6
  */
@@ -191,6 +191,7 @@ public:
191
191
 
192
192
  private:
193
193
  friend class DecimalFormat;
194
+ friend class DecimalFormatImpl;
194
195
 
195
196
  void initialize(const Locale& loc, UErrorCode& status);
196
197
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ********************************************************************************
3
- * Copyright (C) 1997-2015, International Business Machines
3
+ * Copyright (C) 1997-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ********************************************************************************
6
6
  *
@@ -571,7 +571,20 @@ public:
571
571
  EStyle timeStyle = kDefault,
572
572
  const Locale& aLocale = Locale::getDefault());
573
573
 
574
- #ifndef U_HIDE_DRAFT_API
574
+ #ifndef U_HIDE_INTERNAL_API
575
+ /**
576
+ * Returns the best pattern given a skeleton and locale.
577
+ * @param locale the locale
578
+ * @param skeleton the skeleton
579
+ * @param status ICU error returned here
580
+ * @return the best pattern.
581
+ * @internal For ICU use only.
582
+ */
583
+ static UnicodeString getBestPattern(
584
+ const Locale &locale,
585
+ const UnicodeString &skeleton,
586
+ UErrorCode &status);
587
+ #endif /* U_HIDE_INTERNAL_API */
575
588
 
576
589
  /**
577
590
  * Creates a date/time formatter for the given skeleton and
@@ -584,7 +597,7 @@ public:
584
597
  * order for that locale.
585
598
  * @param status Any error returned here.
586
599
  * @return A date/time formatter which the caller owns.
587
- * @draft ICU 55
600
+ * @stable ICU 55
588
601
  */
589
602
  static DateFormat* U_EXPORT2 createInstanceForSkeleton(
590
603
  const UnicodeString& skeleton,
@@ -601,7 +614,7 @@ public:
601
614
  * @param locale The given locale.
602
615
  * @param status Any error returned here.
603
616
  * @return A date/time formatter which the caller owns.
604
- * @draft ICU 55
617
+ * @stable ICU 55
605
618
  */
606
619
  static DateFormat* U_EXPORT2 createInstanceForSkeleton(
607
620
  const UnicodeString& skeleton,
@@ -620,7 +633,7 @@ public:
620
633
  * @param locale The given locale.
621
634
  * @param status Any error returned here.
622
635
  * @return A date/time formatter which the caller owns.
623
- * @draft ICU 55
636
+ * @stable ICU 55
624
637
  */
625
638
  static DateFormat* U_EXPORT2 createInstanceForSkeleton(
626
639
  Calendar *calendarToAdopt,
@@ -628,42 +641,6 @@ public:
628
641
  const Locale &locale,
629
642
  UErrorCode &status);
630
643
 
631
- #endif /* U_HIDE_DRAFT_API */
632
-
633
- #ifndef U_HIDE_INTERNAL_API
634
-
635
- /**
636
- * Creates a date/time formatter for the given skeleton and locale and
637
- * uses the given DateTimePatternGenerator to convert the skeleton to
638
- * a format pattern. As creating a DateTimePatternGenerator is
639
- * expensive, callers can supply it here (if they already have it) to save
640
- * this method from creating its own.
641
- *
642
- * @param skeleton The skeleton e.g "yMMMMd." Fields in the skeleton can
643
- * be in any order, and this method uses the provided
644
- * DateTimePatternGenerator to map the skeleton to a
645
- * pattern that includes appropriate separators with
646
- * the fields in the appropriate order.
647
- * @param locale The given locale.
648
- * @param dpng The user supplied DateTimePatternGenerator. dpng
649
- * must be created for the same locale as locale.
650
- * Moreover, the caller must not modify dpng between
651
- * creating it by locale and calling this method.
652
- * Although dpng is a non-const reference, the caller
653
- * must not regard it as an out or in-out parameter.
654
- * The only reason dpng is a non-const reference is
655
- * because its method, getBestPattern, which converts
656
- * a skeleton to a date format pattern is non-const.
657
- * @return A date/time formatter which the caller owns.
658
- * @internal For ICU use only
659
- */
660
- static DateFormat* U_EXPORT2 internalCreateInstanceForSkeleton(
661
- const UnicodeString& skeleton,
662
- const Locale &locale,
663
- DateTimePatternGenerator &dpng,
664
- UErrorCode &status);
665
-
666
- #endif /* U_HIDE_INTERNAL_API */
667
644
 
668
645
  /**
669
646
  * Gets the set of locales for which DateFormats are installed.
@@ -887,6 +864,7 @@ protected:
887
864
 
888
865
 
889
866
  private:
867
+
890
868
  /**
891
869
  * Gets the date/time formatter with the given formatting styles for the
892
870
  * given locale.
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ********************************************************************************
3
- * Copyright (C) 1997-2015, International Business Machines
3
+ * Copyright (C) 1997-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ********************************************************************************
6
6
  *
@@ -163,12 +163,10 @@ public:
163
163
  * @stable ICU 4.6
164
164
  */
165
165
  kNineDigitSymbol,
166
- #ifndef U_HIDE_DRAFT_API
167
166
  /** Multiplication sign.
168
- * @draft ICU 54
167
+ * @stable ICU 54
169
168
  */
170
169
  kExponentMultiplicationSymbol,
171
- #endif /* U_HIDE_DRAFT_API */
172
170
  /** count symbol constants */
173
171
  kFormatSymbolCount = kNineDigitSymbol + 2
174
172
  };
@@ -356,6 +354,23 @@ private:
356
354
  void setCurrencyForSymbols();
357
355
 
358
356
  public:
357
+
358
+ #ifndef U_HIDE_INTERNAL_API
359
+ /**
360
+ * @internal For ICU use only
361
+ */
362
+ inline UBool isCustomCurrencySymbol() const {
363
+ return fIsCustomCurrencySymbol;
364
+ }
365
+
366
+ /**
367
+ * @internal For ICU use only
368
+ */
369
+ inline UBool isCustomIntlCurrencySymbol() const {
370
+ return fIsCustomIntlCurrencySymbol;
371
+ }
372
+ #endif /* U_HIDE_INTERNAL_API */
373
+
359
374
  /**
360
375
  * _Internal_ function - more efficient version of getSymbol,
361
376
  * returning a const reference to one of the symbol strings.
@@ -410,6 +425,8 @@ private:
410
425
 
411
426
  UnicodeString currencySpcBeforeSym[UNUM_CURRENCY_SPACING_COUNT];
412
427
  UnicodeString currencySpcAfterSym[UNUM_CURRENCY_SPACING_COUNT];
428
+ UBool fIsCustomCurrencySymbol;
429
+ UBool fIsCustomIntlCurrencySymbol;
413
430
  };
414
431
 
415
432
  // -------------------------------------
@@ -425,8 +442,7 @@ DecimalFormatSymbols::getSymbol(ENumberFormatSymbol symbol) const {
425
442
  return *strPtr;
426
443
  }
427
444
 
428
- //#ifndef U_HIDE_INTERNAL_API
429
- // See comments above for this function. Not hidden.
445
+ // See comments above for this function. Not hidden with #ifndef U_HIDE_INTERNAL_API
430
446
  inline const UnicodeString &
431
447
  DecimalFormatSymbols::getConstSymbol(ENumberFormatSymbol symbol) const {
432
448
  const UnicodeString *strPtr;
@@ -438,13 +454,16 @@ DecimalFormatSymbols::getConstSymbol(ENumberFormatSymbol symbol) const {
438
454
  return *strPtr;
439
455
  }
440
456
 
441
- //#endif /* U_HIDE_INTERNAL_API */
442
-
443
-
444
457
  // -------------------------------------
445
458
 
446
459
  inline void
447
460
  DecimalFormatSymbols::setSymbol(ENumberFormatSymbol symbol, const UnicodeString &value, const UBool propogateDigits = TRUE) {
461
+ if (symbol == kCurrencySymbol) {
462
+ fIsCustomCurrencySymbol = TRUE;
463
+ }
464
+ else if (symbol == kIntlCurrencySymbol) {
465
+ fIsCustomIntlCurrencySymbol = TRUE;
466
+ }
448
467
  if(symbol<kFormatSymbolCount) {
449
468
  fSymbols[symbol]=value;
450
469
  }
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ********************************************************************************
3
- * Copyright (C) 1997-2015, International Business Machines
3
+ * Copyright (C) 1997-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ********************************************************************************
6
6
  *
@@ -41,6 +41,7 @@
41
41
  #include "unicode/curramt.h"
42
42
  #include "unicode/enumset.h"
43
43
 
44
+ #ifndef U_HIDE_INTERNAL_API
44
45
  /**
45
46
  * \def UNUM_DECIMALFORMAT_INTERNAL_SIZE
46
47
  * @internal
@@ -48,17 +49,20 @@
48
49
  #if UCONFIG_FORMAT_FASTPATHS_49
49
50
  #define UNUM_DECIMALFORMAT_INTERNAL_SIZE 16
50
51
  #endif
52
+ #endif /* U_HIDE_INTERNAL_API */
51
53
 
52
54
  U_NAMESPACE_BEGIN
53
55
 
54
56
  class DigitList;
55
- class ChoiceFormat;
56
57
  class CurrencyPluralInfo;
57
58
  class Hashtable;
58
59
  class UnicodeSet;
59
60
  class FieldPositionHandler;
60
61
  class DecimalFormatStaticSets;
61
62
  class FixedDecimal;
63
+ class DecimalFormatImpl;
64
+ class PluralRules;
65
+ class VisibleDigitsWithExponent;
62
66
 
63
67
  // explicit template instantiation. see digitlst.h
64
68
  #if defined (_MSC_VER)
@@ -803,7 +807,7 @@ public:
803
807
  virtual int32_t getAttribute( UNumberFormatAttribute attr,
804
808
  UErrorCode &status) const;
805
809
 
806
-
810
+
807
811
  /**
808
812
  * Set whether or not grouping will be used in this format.
809
813
  * @param newValue True, grouping will be used in this format.
@@ -827,7 +831,7 @@ public:
827
831
  * @param value The UDisplayContext value to set.
828
832
  * @param status Input/output status. If at entry this indicates a failure
829
833
  * status, the function will do nothing; otherwise this will be
830
- * updated with any new status from the function.
834
+ * updated with any new status from the function.
831
835
  * @stable ICU 53
832
836
  */
833
837
  virtual void setContext(UDisplayContext value, UErrorCode& status);
@@ -1111,6 +1115,40 @@ public:
1111
1115
  FieldPositionIterator* posIter,
1112
1116
  UErrorCode& status) const;
1113
1117
 
1118
+ /**
1119
+ * Format a decimal number.
1120
+ * @param number The number
1121
+ * @param appendTo Output parameter to receive result.
1122
+ * Result is appended to existing contents.
1123
+ * @param pos On input: an alignment field, if desired.
1124
+ * On output: the offsets of the alignment field.
1125
+ * @param status Output param filled with success/failure status.
1126
+ * @return Reference to 'appendTo' parameter.
1127
+ * @internal
1128
+ */
1129
+ virtual UnicodeString& format(
1130
+ const VisibleDigitsWithExponent &number,
1131
+ UnicodeString& appendTo,
1132
+ FieldPosition& pos,
1133
+ UErrorCode& status) const;
1134
+
1135
+ /**
1136
+ * Format a decimal number.
1137
+ * @param number The number
1138
+ * @param appendTo Output parameter to receive result.
1139
+ * Result is appended to existing contents.
1140
+ * @param posIter On return, can be used to iterate over positions
1141
+ * of fields generated by this format call.
1142
+ * @param status Output param filled with success/failure status.
1143
+ * @return Reference to 'appendTo' parameter.
1144
+ * @internal
1145
+ */
1146
+ virtual UnicodeString& format(
1147
+ const VisibleDigitsWithExponent &number,
1148
+ UnicodeString& appendTo,
1149
+ FieldPositionIterator* posIter,
1150
+ UErrorCode& status) const;
1151
+
1114
1152
  /**
1115
1153
  * Format a decimal number.
1116
1154
  * The number is a DigitList wrapper onto a floating point decimal number.
@@ -1610,6 +1648,45 @@ public:
1610
1648
  */
1611
1649
  virtual void setSecondaryGroupingSize(int32_t newValue);
1612
1650
 
1651
+ #ifndef U_HIDE_INTERNAL_API
1652
+
1653
+ /**
1654
+ * Returns the minimum number of grouping digits.
1655
+ * Grouping separators are output if there are at least this many
1656
+ * digits to the left of the first (rightmost) grouping separator,
1657
+ * that is, there are at least (minimum grouping + grouping size) integer digits.
1658
+ * (Subject to isGroupingUsed().)
1659
+ *
1660
+ * For example, if this value is 2, and the grouping size is 3, then
1661
+ * 9999 -> "9999" and 10000 -> "10,000"
1662
+ *
1663
+ * This is a technology preview. This API may change behavior or may be removed.
1664
+ *
1665
+ * The default value for this attribute is 0.
1666
+ * A value of 1, 0, or lower, means that the use of grouping separators
1667
+ * only depends on the grouping size (and on isGroupingUsed()).
1668
+ * Currently, the corresponding CLDR data is not used; this is likely to change.
1669
+ *
1670
+ * @see setMinimumGroupingDigits
1671
+ * @see getGroupingSize
1672
+ * @internal technology preview
1673
+ */
1674
+ int32_t getMinimumGroupingDigits() const;
1675
+
1676
+ #endif /* U_HIDE_INTERNAL_API */
1677
+
1678
+ /* Cannot use #ifndef U_HIDE_INTERNAL_API for the following draft method since it is virtual. */
1679
+ /**
1680
+ * Sets the minimum grouping digits. Setting to a value less than or
1681
+ * equal to 1 turns off minimum grouping digits.
1682
+ *
1683
+ * @param newValue the new value of minimum grouping digits.
1684
+ * @see getMinimumGroupingDigits
1685
+ * @internal technology preview
1686
+ */
1687
+ virtual void setMinimumGroupingDigits(int32_t newValue);
1688
+
1689
+
1613
1690
  /**
1614
1691
  * Allows you to get the behavior of the decimal separator with integers.
1615
1692
  * (The decimal separator will always appear with decimals.)
@@ -1630,24 +1707,22 @@ public:
1630
1707
  */
1631
1708
  virtual void setDecimalSeparatorAlwaysShown(UBool newValue);
1632
1709
 
1633
- #ifndef U_HIDE_DRAFT_API
1634
1710
  /**
1635
1711
  * Allows you to get the parse behavior of the pattern decimal mark.
1636
1712
  *
1637
1713
  * @return TRUE if input must contain a match to decimal mark in pattern
1638
- * @draft ICU 54
1714
+ * @stable ICU 54
1639
1715
  */
1640
1716
  UBool isDecimalPatternMatchRequired(void) const;
1641
- #endif /* U_HIDE_DRAFT_API */
1642
1717
 
1643
1718
  /**
1644
1719
  * Allows you to set the behavior of the pattern decimal mark.
1645
- *
1720
+ *
1646
1721
  * if TRUE, the input must have a decimal mark if one was specified in the pattern. When
1647
1722
  * FALSE the decimal mark may be omitted from the input.
1648
1723
  *
1649
1724
  * @param newValue set TRUE if input must contain a match to decimal mark in pattern
1650
- * @draft ICU 54
1725
+ * @stable ICU 54
1651
1726
  */
1652
1727
  virtual void setDecimalPatternMatchRequired(UBool newValue);
1653
1728
 
@@ -1893,22 +1968,20 @@ public:
1893
1968
  */
1894
1969
  virtual void setCurrency(const UChar* theCurrency);
1895
1970
 
1896
- #ifndef U_HIDE_DRAFT_API
1897
1971
  /**
1898
1972
  * Sets the <tt>Currency Context</tt> object used to display currency.
1899
1973
  * This takes effect immediately, if this format is a
1900
- * currency format.
1901
- * @param currencyContext new currency context object to use.
1902
- * @draft ICU 54
1974
+ * currency format.
1975
+ * @param currencyContext new currency context object to use.
1976
+ * @stable ICU 54
1903
1977
  */
1904
1978
  void setCurrencyUsage(UCurrencyUsage newUsage, UErrorCode* ec);
1905
1979
 
1906
1980
  /**
1907
1981
  * Returns the <tt>Currency Context</tt> object used to display currency
1908
- * @draft ICU 54
1982
+ * @stable ICU 54
1909
1983
  */
1910
1984
  UCurrencyUsage getCurrencyUsage() const;
1911
- #endif /* U_HIDE_DRAFT_API */
1912
1985
 
1913
1986
 
1914
1987
  #ifndef U_HIDE_DEPRECATED_API
@@ -1944,6 +2017,41 @@ public:
1944
2017
  * @internal
1945
2018
  */
1946
2019
  FixedDecimal getFixedDecimal(DigitList &number, UErrorCode &status) const;
2020
+
2021
+ /**
2022
+ * Get a VisibleDigitsWithExponent corresponding to a double
2023
+ * as it would be formatted by this DecimalFormat.
2024
+ * Internal, not intended for public use.
2025
+ * @internal
2026
+ */
2027
+ VisibleDigitsWithExponent &initVisibleDigitsWithExponent(
2028
+ double number,
2029
+ VisibleDigitsWithExponent &digits,
2030
+ UErrorCode &status) const;
2031
+
2032
+ /**
2033
+ * Get a VisibleDigitsWithExponent corresponding to a formattable
2034
+ * as it would be formatted by this DecimalFormat.
2035
+ * Internal, not intended for public use.
2036
+ * @internal
2037
+ */
2038
+ VisibleDigitsWithExponent &initVisibleDigitsWithExponent(
2039
+ const Formattable &number,
2040
+ VisibleDigitsWithExponent &digits,
2041
+ UErrorCode &status) const;
2042
+
2043
+ /**
2044
+ * Get a VisibleDigitsWithExponent corresponding to a DigitList
2045
+ * as it would be formatted by this DecimalFormat.
2046
+ * Note: the DigitList may be modified.
2047
+ * Internal, not intended for public use.
2048
+ * @internal
2049
+ */
2050
+ VisibleDigitsWithExponent &initVisibleDigitsWithExponent(
2051
+ DigitList &number,
2052
+ VisibleDigitsWithExponent &digits,
2053
+ UErrorCode &status) const;
2054
+
1947
2055
  #endif /* U_HIDE_INTERNAL_API */
1948
2056
 
1949
2057
  public:
@@ -1978,8 +2086,6 @@ private:
1978
2086
 
1979
2087
  DecimalFormat(); // default constructor not implemented
1980
2088
 
1981
- int32_t precision() const;
1982
-
1983
2089
  /**
1984
2090
  * Initialize all fields of a new DecimalFormatter to a safe default value.
1985
2091
  * Common code for use by constructors.
@@ -1995,72 +2101,6 @@ private:
1995
2101
  DecimalFormatSymbols* symbolsToAdopt = 0
1996
2102
  );
1997
2103
 
1998
- /**
1999
- * Does the real work of generating a pattern.
2000
- *
2001
- * @param result Output param which will receive the pattern.
2002
- * Previous contents are deleted.
2003
- * @param localized TRUE return localized pattern.
2004
- * @return A reference to 'result'.
2005
- */
2006
- UnicodeString& toPattern(UnicodeString& result, UBool localized) const;
2007
-
2008
- /**
2009
- * Does the real work of applying a pattern.
2010
- * @param pattern The pattern to be applied.
2011
- * @param localized If true, the pattern is localized; else false.
2012
- * @param parseError Struct to recieve information on position
2013
- * of error if an error is encountered
2014
- * @param status Output param set to success/failure code on
2015
- * exit. If the pattern is invalid, this will be
2016
- * set to a failure result.
2017
- */
2018
- void applyPattern(const UnicodeString& pattern,
2019
- UBool localized,
2020
- UParseError& parseError,
2021
- UErrorCode& status);
2022
-
2023
- /*
2024
- * similar to applyPattern, but without re-gen affix for currency
2025
- */
2026
- void applyPatternInternally(const UnicodeString& pluralCount,
2027
- const UnicodeString& pattern,
2028
- UBool localized,
2029
- UParseError& parseError,
2030
- UErrorCode& status);
2031
-
2032
- /*
2033
- * only apply pattern without expand affixes
2034
- */
2035
- void applyPatternWithoutExpandAffix(const UnicodeString& pattern,
2036
- UBool localized,
2037
- UParseError& parseError,
2038
- UErrorCode& status);
2039
-
2040
-
2041
- /*
2042
- * expand affixes (after apply patter) and re-compute fFormatWidth
2043
- */
2044
- void expandAffixAdjustWidth(const UnicodeString* pluralCount);
2045
-
2046
-
2047
- /**
2048
- * Do the work of formatting a number, either a double or a long.
2049
- *
2050
- * @param appendTo Output parameter to receive result.
2051
- * Result is appended to existing contents.
2052
- * @param handler Records information about field positions.
2053
- * @param digits the digits to be formatted.
2054
- * @param isInteger if TRUE format the digits as Integer.
2055
- * @return Reference to 'appendTo' parameter.
2056
- */
2057
- UnicodeString& subformat(UnicodeString& appendTo,
2058
- FieldPositionHandler& handler,
2059
- DigitList& digits,
2060
- UBool isInteger,
2061
- UErrorCode &status) const;
2062
-
2063
-
2064
2104
  void parse(const UnicodeString& text,
2065
2105
  Formattable& result,
2066
2106
  ParsePosition& pos,
@@ -2144,231 +2184,45 @@ private:
2144
2184
  UChar32 decimalChar, const UnicodeSet *decimalSet,
2145
2185
  UChar32 schar);
2146
2186
 
2147
- /**
2148
- * Get a decimal format symbol.
2149
- * Returns a const reference to the symbol string.
2150
- * @internal
2151
- */
2152
- inline const UnicodeString &getConstSymbol(DecimalFormatSymbols::ENumberFormatSymbol symbol) const;
2153
-
2154
- int32_t appendAffix(UnicodeString& buf,
2155
- double number,
2156
- FieldPositionHandler& handler,
2157
- UBool isNegative,
2158
- UBool isPrefix) const;
2159
-
2160
- /**
2161
- * Append an affix to the given UnicodeString, using quotes if
2162
- * there are special characters. Single quotes themselves must be
2163
- * escaped in either case.
2164
- */
2165
- void appendAffixPattern(UnicodeString& appendTo, const UnicodeString& affix,
2166
- UBool localized) const;
2167
-
2168
- void appendAffixPattern(UnicodeString& appendTo,
2169
- const UnicodeString* affixPattern,
2170
- const UnicodeString& expAffix, UBool localized) const;
2171
-
2172
- void expandAffix(const UnicodeString& pattern,
2173
- UnicodeString& affix,
2174
- double number,
2175
- FieldPositionHandler& handler,
2176
- UBool doFormat,
2177
- const UnicodeString* pluralCount) const;
2178
-
2179
- void expandAffixes(const UnicodeString* pluralCount);
2180
-
2181
- void addPadding(UnicodeString& appendTo,
2182
- FieldPositionHandler& handler,
2183
- int32_t prefixLen, int32_t suffixLen) const;
2184
-
2185
- UBool isGroupingPosition(int32_t pos) const;
2186
-
2187
- void setCurrencyForSymbols();
2188
-
2189
- // similar to setCurrency without re-compute the affixes for currency.
2190
- // If currency changes, the affix pattern for currency is not changed,
2191
- // but the affix will be changed. So, affixes need to be
2192
- // re-computed in setCurrency(), but not in setCurrencyInternally().
2193
- virtual void setCurrencyInternally(const UChar* theCurrency, UErrorCode& ec);
2194
-
2195
2187
  // set up currency affix patterns for mix parsing.
2196
2188
  // The patterns saved here are the affix patterns of default currency
2197
2189
  // pattern and the unique affix patterns of the plural currency patterns.
2198
2190
  // Those patterns are used by parseForCurrency().
2199
2191
  void setupCurrencyAffixPatterns(UErrorCode& status);
2200
2192
 
2201
- // set up the currency affixes used in currency plural formatting.
2202
- // It sets up both fAffixesForCurrency for currency pattern if the current
2203
- // pattern contains 3 currency signs,
2204
- // and it sets up fPluralAffixesForCurrency for currency plural patterns.
2205
- void setupCurrencyAffixes(const UnicodeString& pattern,
2206
- UBool setupForCurrentPattern,
2207
- UBool setupForPluralPattern,
2208
- UErrorCode& status);
2209
-
2210
2193
  // get the currency rounding with respect to currency usage
2211
2194
  double getCurrencyRounding(const UChar* currency,
2212
2195
  UErrorCode* ec) const;
2213
-
2196
+
2214
2197
  // get the currency fraction with respect to currency usage
2215
2198
  int getCurrencyFractionDigits(const UChar* currency,
2216
2199
  UErrorCode* ec) const;
2217
2200
 
2218
2201
  // hashtable operations
2219
2202
  Hashtable* initHashForAffixPattern(UErrorCode& status);
2220
- Hashtable* initHashForAffix(UErrorCode& status);
2221
2203
 
2222
2204
  void deleteHashForAffixPattern();
2223
- void deleteHashForAffix(Hashtable*& table);
2224
2205
 
2225
2206
  void copyHashForAffixPattern(const Hashtable* source,
2226
2207
  Hashtable* target, UErrorCode& status);
2227
- void copyHashForAffix(const Hashtable* source,
2228
- Hashtable* target, UErrorCode& status);
2229
-
2230
- UnicodeString& _format(int64_t number,
2231
- UnicodeString& appendTo,
2232
- FieldPositionHandler& handler,
2233
- UErrorCode &status) const;
2234
- UnicodeString& _format(double number,
2235
- UnicodeString& appendTo,
2236
- FieldPositionHandler& handler,
2237
- UErrorCode &status) const;
2238
- UnicodeString& _format(const DigitList &number,
2239
- UnicodeString& appendTo,
2240
- FieldPositionHandler& handler,
2241
- UErrorCode &status) const;
2242
-
2243
- /**
2244
- * Constants.
2245
- */
2246
2208
 
2247
- UnicodeString fPositivePrefix;
2248
- UnicodeString fPositiveSuffix;
2249
- UnicodeString fNegativePrefix;
2250
- UnicodeString fNegativeSuffix;
2251
- UnicodeString* fPosPrefixPattern;
2252
- UnicodeString* fPosSuffixPattern;
2253
- UnicodeString* fNegPrefixPattern;
2254
- UnicodeString* fNegSuffixPattern;
2209
+ DecimalFormatImpl *fImpl;
2255
2210
 
2256
2211
  /**
2257
- * Formatter for ChoiceFormat-based currency names. If this field
2258
- * is not null, then delegate to it to format currency symbols.
2259
- * @since ICU 2.6
2212
+ * Constants.
2260
2213
  */
2261
- ChoiceFormat* fCurrencyChoice;
2262
2214
 
2263
- DigitList * fMultiplier; // NULL for multiplier of one
2264
- int32_t fScale;
2265
- int32_t fGroupingSize;
2266
- int32_t fGroupingSize2;
2267
- UBool fDecimalSeparatorAlwaysShown;
2268
- DecimalFormatSymbols* fSymbols;
2269
-
2270
- UBool fUseSignificantDigits;
2271
- int32_t fMinSignificantDigits;
2272
- int32_t fMaxSignificantDigits;
2273
-
2274
- UBool fUseExponentialNotation;
2275
- int8_t fMinExponentDigits;
2276
- UBool fExponentSignAlwaysShown;
2277
2215
 
2278
2216
  EnumSet<UNumberFormatAttribute,
2279
2217
  UNUM_MAX_NONBOOLEAN_ATTRIBUTE+1,
2280
2218
  UNUM_LIMIT_BOOLEAN_ATTRIBUTE>
2281
2219
  fBoolFlags;
2282
2220
 
2283
- DigitList* fRoundingIncrement; // NULL if no rounding increment specified.
2284
- ERoundingMode fRoundingMode;
2285
2221
 
2286
- UChar32 fPad;
2287
- int32_t fFormatWidth;
2288
- EPadPosition fPadPosition;
2289
-
2290
- /*
2291
- * Following are used for currency format
2292
- */
2293
- // pattern used in this formatter
2294
- UnicodeString fFormatPattern;
2295
2222
  // style is only valid when decimal formatter is constructed by
2296
2223
  // DecimalFormat(pattern, decimalFormatSymbol, style)
2297
2224
  int fStyle;
2298
- /*
2299
- * Represents whether this is a currency format, and which
2300
- * currency format style.
2301
- * 0: not currency format type;
2302
- * 1: currency style -- symbol name, such as "$" for US dollar.
2303
- * 2: currency style -- ISO name, such as USD for US dollar.
2304
- * 3: currency style -- plural long name, such as "US Dollar" for
2305
- * "1.00 US Dollar", or "US Dollars" for
2306
- * "3.00 US Dollars".
2307
- */
2308
- int fCurrencySignCount;
2309
-
2310
-
2311
- /* For currency parsing purose,
2312
- * Need to remember all prefix patterns and suffix patterns of
2313
- * every currency format pattern,
2314
- * including the pattern of default currecny style
2315
- * and plural currency style. And the patterns are set through applyPattern.
2316
- */
2317
- // TODO: innerclass?
2318
- /* This is not needed in the class declaration, so it is moved into decimfmp.cpp
2319
- struct AffixPatternsForCurrency : public UMemory {
2320
- // negative prefix pattern
2321
- UnicodeString negPrefixPatternForCurrency;
2322
- // negative suffix pattern
2323
- UnicodeString negSuffixPatternForCurrency;
2324
- // positive prefix pattern
2325
- UnicodeString posPrefixPatternForCurrency;
2326
- // positive suffix pattern
2327
- UnicodeString posSuffixPatternForCurrency;
2328
- int8_t patternType;
2329
-
2330
- AffixPatternsForCurrency(const UnicodeString& negPrefix,
2331
- const UnicodeString& negSuffix,
2332
- const UnicodeString& posPrefix,
2333
- const UnicodeString& posSuffix,
2334
- int8_t type) {
2335
- negPrefixPatternForCurrency = negPrefix;
2336
- negSuffixPatternForCurrency = negSuffix;
2337
- posPrefixPatternForCurrency = posPrefix;
2338
- posSuffixPatternForCurrency = posSuffix;
2339
- patternType = type;
2340
- }
2341
- };
2342
- */
2343
2225
 
2344
- /* affix for currency formatting when the currency sign in the pattern
2345
- * equals to 3, such as the pattern contains 3 currency sign or
2346
- * the formatter style is currency plural format style.
2347
- */
2348
- /* This is not needed in the class declaration, so it is moved into decimfmp.cpp
2349
- struct AffixesForCurrency : public UMemory {
2350
- // negative prefix
2351
- UnicodeString negPrefixForCurrency;
2352
- // negative suffix
2353
- UnicodeString negSuffixForCurrency;
2354
- // positive prefix
2355
- UnicodeString posPrefixForCurrency;
2356
- // positive suffix
2357
- UnicodeString posSuffixForCurrency;
2358
-
2359
- int32_t formatWidth;
2360
-
2361
- AffixesForCurrency(const UnicodeString& negPrefix,
2362
- const UnicodeString& negSuffix,
2363
- const UnicodeString& posPrefix,
2364
- const UnicodeString& posSuffix) {
2365
- negPrefixForCurrency = negPrefix;
2366
- negSuffixForCurrency = negSuffix;
2367
- posPrefixForCurrency = posPrefix;
2368
- posSuffixForCurrency = posSuffix;
2369
- }
2370
- };
2371
- */
2372
2226
 
2373
2227
  // Affix pattern set for currency.
2374
2228
  // It is a set of AffixPatternsForCurrency,
@@ -2385,16 +2239,6 @@ private:
2385
2239
  // count match or not.
2386
2240
  Hashtable* fAffixPatternsForCurrency;
2387
2241
 
2388
- // Following 2 are affixes for currency.
2389
- // It is a hash map from plural count to AffixesForCurrency.
2390
- // AffixesForCurrency saves the negative prefix,
2391
- // negative suffix, positive prefix, and positive suffix of a pattern.
2392
- // It is used during currency formatting only when the currency sign count
2393
- // is 3. In which case, the affixes are getting from here, not
2394
- // from the fNegativePrefix etc.
2395
- Hashtable* fAffixesForCurrency; // for current pattern
2396
- Hashtable* fPluralAffixesForCurrency; // for plural pattern
2397
-
2398
2242
  // Information needed for DecimalFormat to format/parse currency plural.
2399
2243
  CurrencyPluralInfo* fCurrencyPluralInfo;
2400
2244
 
@@ -2404,9 +2248,6 @@ private:
2404
2248
 
2405
2249
  // Decimal Format Static Sets singleton.
2406
2250
  const DecimalFormatStaticSets *fStaticSets;
2407
-
2408
- // Currency Usage(STANDARD vs CASH)
2409
- UCurrencyUsage fCurrencyUsage;
2410
2251
 
2411
2252
  protected:
2412
2253
 
@@ -2449,27 +2290,8 @@ protected:
2449
2290
  */
2450
2291
  static const int32_t kMaxScientificIntegerDigits;
2451
2292
 
2452
- #if UCONFIG_FORMAT_FASTPATHS_49
2453
- private:
2454
- /**
2455
- * Internal state.
2456
- * @internal
2457
- */
2458
- uint8_t fReserved[UNUM_DECIMALFORMAT_INTERNAL_SIZE];
2459
-
2460
-
2461
- /**
2462
- * Called whenever any state changes. Recomputes whether fastpath is OK to use.
2463
- */
2464
- void handleChanged();
2465
- #endif
2466
2293
  };
2467
2294
 
2468
- inline const UnicodeString &
2469
- DecimalFormat::getConstSymbol(DecimalFormatSymbols::ENumberFormatSymbol symbol) const {
2470
- return fSymbols->getConstSymbol(symbol);
2471
- }
2472
-
2473
2295
  U_NAMESPACE_END
2474
2296
 
2475
2297
  #endif /* #if !UCONFIG_NO_FORMATTING */