pango 3.0.7-x86-mingw32 → 3.0.8-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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 */