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) 2007-2015, International Business Machines Corporation and
3
+ * Copyright (C) 2007-2016, International Business Machines Corporation and
4
4
  * others. All Rights Reserved.
5
5
  *******************************************************************************
6
6
  *
@@ -34,15 +34,15 @@ class PtnSkeleton;
34
34
  class SharedDateTimePatternGenerator;
35
35
 
36
36
  /**
37
- * This class provides flexible generation of date format patterns, like "yy-MM-dd".
38
- * The user can build up the generator by adding successive patterns. Once that
37
+ * This class provides flexible generation of date format patterns, like "yy-MM-dd".
38
+ * The user can build up the generator by adding successive patterns. Once that
39
39
  * is done, a query can be made using a "skeleton", which is a pattern which just
40
- * includes the desired fields and lengths. The generator will return the "best fit"
40
+ * includes the desired fields and lengths. The generator will return the "best fit"
41
41
  * pattern corresponding to that skeleton.
42
42
  * <p>The main method people will use is getBestPattern(String skeleton),
43
- * since normally this class is pre-built with data from a particular locale.
43
+ * since normally this class is pre-built with data from a particular locale.
44
44
  * However, generators can be built directly from other data as well.
45
- * <p><i>Issue: may be useful to also have a function that returns the list of
45
+ * <p><i>Issue: may be useful to also have a function that returns the list of
46
46
  * fields in a pattern, in order, since we have that internally.
47
47
  * That would be useful for getting the UI order of field elements.</i>
48
48
  * @stable ICU 3.8
@@ -84,7 +84,7 @@ public:
84
84
  * @stable ICU 3.8
85
85
  */
86
86
  static DateTimePatternGenerator* U_EXPORT2 createEmptyInstance(UErrorCode& status);
87
-
87
+
88
88
  /**
89
89
  * Destructor.
90
90
  * @stable ICU 3.8
@@ -92,7 +92,7 @@ public:
92
92
  virtual ~DateTimePatternGenerator();
93
93
 
94
94
  /**
95
- * Clone DateTimePatternGenerator object. Clients are responsible for
95
+ * Clone DateTimePatternGenerator object. Clients are responsible for
96
96
  * deleting the DateTimePatternGenerator object cloned.
97
97
  * @stable ICU 3.8
98
98
  */
@@ -106,7 +106,7 @@ public:
106
106
  * @stable ICU 3.8
107
107
  */
108
108
  UBool operator==(const DateTimePatternGenerator& other) const;
109
-
109
+
110
110
  /**
111
111
  * Return true if another object is semantically unequal to this one.
112
112
  *
@@ -116,9 +116,25 @@ public:
116
116
  */
117
117
  UBool operator!=(const DateTimePatternGenerator& other) const;
118
118
 
119
+ #ifndef U_HIDE_DRAFT_API
120
+ /**
121
+ * Utility to return a unique skeleton from a given pattern. For example,
122
+ * both "MMM-dd" and "dd/MMM" produce the skeleton "MMMdd".
123
+ *
124
+ * @param pattern Input pattern, such as "dd/MMM"
125
+ * @param status Output param set to success/failure code on exit,
126
+ * which must not indicate a failure before the function call.
127
+ * @return skeleton such as "MMMdd"
128
+ * @draft ICU 56
129
+ */
130
+ static UnicodeString staticGetSkeleton(const UnicodeString& pattern, UErrorCode& status);
131
+ #endif /* U_HIDE_DRAFT_API */
132
+
119
133
  /**
120
134
  * Utility to return a unique skeleton from a given pattern. For example,
121
135
  * both "MMM-dd" and "dd/MMM" produce the skeleton "MMMdd".
136
+ * getSkeleton() works exactly like staticGetSkeleton().
137
+ * Use staticGetSkeleton() instead of getSkeleton().
122
138
  *
123
139
  * @param pattern Input pattern, such as "dd/MMM"
124
140
  * @param status Output param set to success/failure code on exit,
@@ -126,7 +142,29 @@ public:
126
142
  * @return skeleton such as "MMMdd"
127
143
  * @stable ICU 3.8
128
144
  */
129
- UnicodeString getSkeleton(const UnicodeString& pattern, UErrorCode& status);
145
+ UnicodeString getSkeleton(const UnicodeString& pattern, UErrorCode& status); /* {
146
+ The function is commented out because it is a stable API calling a draft API.
147
+ After staticGetSkeleton becomes stable, staticGetSkeleton can be used and
148
+ these comments and the definition of getSkeleton in dtptngen.cpp should be removed.
149
+ return staticGetSkeleton(pattern, status);
150
+ }*/
151
+
152
+ #ifndef U_HIDE_DRAFT_API
153
+ /**
154
+ * Utility to return a unique base skeleton from a given pattern. This is
155
+ * the same as the skeleton, except that differences in length are minimized
156
+ * so as to only preserve the difference between string and numeric form. So
157
+ * for example, both "MMM-dd" and "d/MMM" produce the skeleton "MMMd"
158
+ * (notice the single d).
159
+ *
160
+ * @param pattern Input pattern, such as "dd/MMM"
161
+ * @param status Output param set to success/failure code on exit,
162
+ * which must not indicate a failure before the function call.
163
+ * @return base skeleton, such as "MMMd"
164
+ * @draft ICU 56
165
+ */
166
+ static UnicodeString staticGetBaseSkeleton(const UnicodeString& pattern, UErrorCode& status);
167
+ #endif /* U_HIDE_DRAFT_API */
130
168
 
131
169
  /**
132
170
  * Utility to return a unique base skeleton from a given pattern. This is
@@ -134,32 +172,39 @@ public:
134
172
  * so as to only preserve the difference between string and numeric form. So
135
173
  * for example, both "MMM-dd" and "d/MMM" produce the skeleton "MMMd"
136
174
  * (notice the single d).
175
+ * getBaseSkeleton() works exactly like staticGetBaseSkeleton().
176
+ * Use staticGetBaseSkeleton() instead of getBaseSkeleton().
137
177
  *
138
178
  * @param pattern Input pattern, such as "dd/MMM"
139
179
  * @param status Output param set to success/failure code on exit,
140
180
  * which must not indicate a failure before the function call.
141
- * @return base skeleton, such as "Md"
181
+ * @return base skeleton, such as "MMMd"
142
182
  * @stable ICU 3.8
143
183
  */
144
- UnicodeString getBaseSkeleton(const UnicodeString& pattern, UErrorCode& status);
184
+ UnicodeString getBaseSkeleton(const UnicodeString& pattern, UErrorCode& status); /* {
185
+ The function is commented out because it is a stable API calling a draft API.
186
+ After staticGetBaseSkeleton becomes stable, staticGetBaseSkeleton can be used and
187
+ these comments and the definition of getBaseSkeleton in dtptngen.cpp should be removed.
188
+ return staticGetBaseSkeleton(pattern, status);
189
+ }*/
145
190
 
146
191
  /**
147
192
  * Adds a pattern to the generator. If the pattern has the same skeleton as
148
193
  * an existing pattern, and the override parameter is set, then the previous
149
194
  * value is overriden. Otherwise, the previous value is retained. In either
150
- * case, the conflicting status is set and previous vale is stored in
195
+ * case, the conflicting status is set and previous vale is stored in
151
196
  * conflicting pattern.
152
197
  * <p>
153
198
  * Note that single-field patterns (like "MMM") are automatically added, and
154
199
  * don't need to be added explicitly!
155
200
  *
156
201
  * @param pattern Input pattern, such as "dd/MMM"
157
- * @param override When existing values are to be overridden use true,
202
+ * @param override When existing values are to be overridden use true,
158
203
  * otherwise use false.
159
204
  * @param conflictingPattern Previous pattern with the same skeleton.
160
205
  * @param status Output param set to success/failure code on exit,
161
206
  * which must not indicate a failure before the function call.
162
- * @return conflicting status. The value could be UDATPG_NO_CONFLICT,
207
+ * @return conflicting status. The value could be UDATPG_NO_CONFLICT,
163
208
  * UDATPG_BASE_CONFLICT or UDATPG_CONFLICT.
164
209
  * @stable ICU 3.8
165
210
  * <p>
@@ -168,8 +213,8 @@ public:
168
213
  * \snippet samples/dtptngsample/dtptngsample.cpp addPatternExample
169
214
  * <p>
170
215
  */
171
- UDateTimePatternConflict addPattern(const UnicodeString& pattern,
172
- UBool override,
216
+ UDateTimePatternConflict addPattern(const UnicodeString& pattern,
217
+ UBool override,
173
218
  UnicodeString& conflictingPattern,
174
219
  UErrorCode& status);
175
220
 
@@ -322,8 +367,8 @@ public:
322
367
  * \snippet samples/dtptngsample/dtptngsample.cpp replaceFieldTypesExample
323
368
  * <p>
324
369
  */
325
- UnicodeString replaceFieldTypes(const UnicodeString& pattern,
326
- const UnicodeString& skeleton,
370
+ UnicodeString replaceFieldTypes(const UnicodeString& pattern,
371
+ const UnicodeString& skeleton,
327
372
  UErrorCode& status);
328
373
 
329
374
  /**
@@ -348,8 +393,8 @@ public:
348
393
  * @return pattern adjusted to match the skeleton fields widths and subtypes.
349
394
  * @stable ICU 4.4
350
395
  */
351
- UnicodeString replaceFieldTypes(const UnicodeString& pattern,
352
- const UnicodeString& skeleton,
396
+ UnicodeString replaceFieldTypes(const UnicodeString& pattern,
397
+ const UnicodeString& skeleton,
353
398
  UDateTimePatternMatchOptions options,
354
399
  UErrorCode& status);
355
400
 
@@ -368,12 +413,12 @@ public:
368
413
 
369
414
  /**
370
415
  * Get the pattern corresponding to a given skeleton.
371
- * @param skeleton
416
+ * @param skeleton
372
417
  * @return pattern corresponding to a given skeleton.
373
418
  * @stable ICU 3.8
374
419
  */
375
420
  const UnicodeString& getPatternForSkeleton(const UnicodeString& skeleton) const;
376
-
421
+
377
422
  /**
378
423
  * Return a list of all the base skeletons (in canonical form) from this class.
379
424
  *
@@ -387,11 +432,11 @@ public:
387
432
 
388
433
  #ifndef U_HIDE_INTERNAL_API
389
434
  /**
390
- * Return a list of redundant patterns are those which if removed, make no
391
- * difference in the resulting getBestPattern values. This method returns a
392
- * list of them, to help check the consistency of the patterns used to build
435
+ * Return a list of redundant patterns are those which if removed, make no
436
+ * difference in the resulting getBestPattern values. This method returns a
437
+ * list of them, to help check the consistency of the patterns used to build
393
438
  * this generator.
394
- *
439
+ *
395
440
  * @param status Output param set to success/failure code on exit,
396
441
  * which must not indicate a failure before the function call.
397
442
  * @return a StringEnumeration with the redundant pattern.
@@ -409,7 +454,7 @@ public:
409
454
  * the decimal string is ",". Then the resulting pattern is modified to be
410
455
  * "H:mm:ss,SSSS"
411
456
  *
412
- * @param decimal
457
+ * @param decimal
413
458
  * @stable ICU 3.8
414
459
  */
415
460
  void setDecimal(const UnicodeString& decimal);
@@ -476,12 +521,16 @@ private:
476
521
  UnicodeString hackPattern;
477
522
  UnicodeString emptyString;
478
523
  UChar fDefaultHourFormatChar;
479
-
524
+
525
+ int32_t fAllowedHourFormats[7]; // Actually an array of AllowedHourFormat enum type, ending with UNKNOWN.
526
+
480
527
  /* internal flags masks for adjustFieldTypes etc. */
481
528
  enum {
482
529
  kDTPGNoFlags = 0,
483
530
  kDTPGFixFractionalSeconds = 1,
484
- kDTPGSkeletonUsesCapJ = 2
531
+ kDTPGSkeletonUsesCapJ = 2,
532
+ kDTPGSkeletonUsesLowB = 3,
533
+ kDTPGSkeletonUsesCapB = 4
485
534
  };
486
535
 
487
536
  void initData(const Locale &locale, UErrorCode &status);
@@ -505,6 +554,8 @@ private:
505
554
  UBool isAvailableFormatSet(const UnicodeString &key) const;
506
555
  void copyHashtable(Hashtable *other, UErrorCode &status);
507
556
  UBool isCanonicalItem(const UnicodeString& item) const;
557
+ static void loadAllowedHourFormatsData(UErrorCode &status);
558
+ void getAllowedHourFormats(const Locale &locale, UErrorCode &status);
508
559
  } ;// end class DateTimePatternGenerator
509
560
 
510
561
  U_NAMESPACE_END
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ********************************************************************************
3
- * Copyright (C) 1997-2014, International Business Machines
3
+ * Copyright (C) 1997-2015, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ********************************************************************************
6
6
  */
@@ -12,7 +12,8 @@
12
12
  #include "unicode/brkiter.h"
13
13
 
14
14
  #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION
15
- #ifndef U_HIDE_INTERNAL_API
15
+
16
+ #ifndef U_HIDE_DRAFT_API
16
17
 
17
18
  U_NAMESPACE_BEGIN
18
19
 
@@ -30,25 +31,13 @@ U_NAMESPACE_BEGIN
30
31
  * but with "Mr." as an exception, a filtered break iterator
31
32
  * would consider the string "Mr. Smith" to be a single segment.
32
33
  *
33
- * <p><b>Note:</b> An instance of {@link BreakIterator} returned by this builder
34
- * class currently does not support following operations in this technology preview
35
- * version:
36
- * <ul>
37
- * <li>{@link BreakIterator#next(int32_t) next(int32_t n)}</li>
38
- * <li>{@link BreakIterator#previous(void) previous(void)}</li>
39
- * <li>{@link BreakIterator#following(int32_t) following(int32_t offset)}</li>
40
- * <li>{@link BreakIterator#preceding(int32_t) preceding(int32_t offset)}</li>
41
- * </ul>
42
- * When one of above methods is called, BreakIterator.DONE will be returned immediately
43
- * without updating the internal state.
44
- *
45
- * @internal technology preview
34
+ * @draft ICU 56
46
35
  */
47
- class U_I18N_API FilteredBreakIteratorBuilder : public UObject {
36
+ class U_COMMON_API FilteredBreakIteratorBuilder : public UObject {
48
37
  public:
49
38
  /**
50
39
  * destructor.
51
- * @internal technology preview
40
+ * @draft ICU 56
52
41
  */
53
42
  virtual ~FilteredBreakIteratorBuilder();
54
43
 
@@ -62,7 +51,7 @@ class U_I18N_API FilteredBreakIteratorBuilder : public UObject {
62
51
  * @param where the locale.
63
52
  * @param status The error code.
64
53
  * @return the new builder
65
- * @internal technology preview
54
+ * @draft ICU 56
66
55
  */
67
56
  static FilteredBreakIteratorBuilder *createInstance(const Locale& where, UErrorCode& status);
68
57
 
@@ -71,7 +60,7 @@ class U_I18N_API FilteredBreakIteratorBuilder : public UObject {
71
60
  * In this state, it will not suppress any segment boundaries.
72
61
  * @param status The error code.
73
62
  * @return the new builder
74
- * @internal technology preview
63
+ * @draft ICU 56
75
64
  */
76
65
  static FilteredBreakIteratorBuilder *createInstance(UErrorCode &status);
77
66
 
@@ -83,7 +72,7 @@ class U_I18N_API FilteredBreakIteratorBuilder : public UObject {
83
72
  * @param status error code
84
73
  * @return returns TRUE if the string was not present and now added,
85
74
  * FALSE if the call was a no-op because the string was already being suppressed.
86
- * @internal technology preview
75
+ * @draft ICU 56
87
76
  */
88
77
  virtual UBool suppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0;
89
78
 
@@ -96,7 +85,7 @@ class U_I18N_API FilteredBreakIteratorBuilder : public UObject {
96
85
  * @param status error code
97
86
  * @return returns TRUE if the string was present and now removed,
98
87
  * FALSE if the call was a no-op because the string was not being suppressed.
99
- * @internal technology preview
88
+ * @draft ICU 56
100
89
  */
101
90
  virtual UBool unsuppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0;
102
91
 
@@ -110,14 +99,14 @@ class U_I18N_API FilteredBreakIteratorBuilder : public UObject {
110
99
  * @param adoptBreakIterator the break iterator to adopt
111
100
  * @param status error code
112
101
  * @return the new BreakIterator, owned by the caller.
113
- * @internal technology preview
102
+ * @draft ICU 56
114
103
  */
115
104
  virtual BreakIterator *build(BreakIterator* adoptBreakIterator, UErrorCode& status) = 0;
116
105
 
117
106
  protected:
118
107
  /**
119
108
  * For subclass use
120
- * @internal technology preview
109
+ * @draft ICU 56
121
110
  */
122
111
  FilteredBreakIteratorBuilder();
123
112
  };
@@ -125,7 +114,8 @@ class U_I18N_API FilteredBreakIteratorBuilder : public UObject {
125
114
 
126
115
  U_NAMESPACE_END
127
116
 
128
- #endif /* U_HIDE_INTERNAL_API */
117
+ #endif /* U_HIDE_DRAFT_API */
118
+
129
119
  #endif // #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION
130
120
 
131
121
  #endif // #ifndef FILTEREDBRK_H
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  ******************************************************************************
3
3
  *
4
- * Copyright (C) 2009-2012, International Business Machines
4
+ * Copyright (C) 2009-2015, International Business Machines
5
5
  * Corporation and others. All Rights Reserved.
6
6
  *
7
7
  ******************************************************************************
@@ -108,6 +108,10 @@
108
108
  #include "unicode/utypes.h"
109
109
 
110
110
 
111
+ #if UCONFIG_ENABLE_PLUGINS
112
+
113
+
114
+
111
115
  /* === Basic types === */
112
116
 
113
117
  #ifndef U_HIDE_INTERNAL_API
@@ -368,4 +372,7 @@ U_INTERNAL void U_EXPORT2
368
372
  uplug_removePlug(UPlugData *plug, UErrorCode *status);
369
373
  #endif /* U_HIDE_INTERNAL_API */
370
374
 
371
- #endif
375
+ #endif /* UCONFIG_ENABLE_PLUGINS */
376
+
377
+ #endif /* _ICUPLUG */
378
+
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *******************************************************************************
3
3
  *
4
- * Copyright (C) 2012-2014, International Business Machines
4
+ * Copyright (C) 2012-2016, International Business Machines
5
5
  * Corporation and others. All Rights Reserved.
6
6
  *
7
7
  *******************************************************************************
@@ -145,7 +145,7 @@ class U_COMMON_API ListFormatter : public UObject{
145
145
  /**
146
146
  * @internal constructor made public for testing.
147
147
  */
148
- ListFormatter(const ListFormatData &data);
148
+ ListFormatter(const ListFormatData &data, UErrorCode &errorCode);
149
149
  /**
150
150
  * @internal constructor made public for testing.
151
151
  */
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *******************************************************************************
3
3
  *
4
- * Copyright (C) 2009-2014, International Business Machines
4
+ * Copyright (C) 2009-2016, International Business Machines
5
5
  * Corporation and others. All Rights Reserved.
6
6
  *
7
7
  *******************************************************************************
@@ -18,7 +18,7 @@
18
18
  #define __LOCALPOINTER_H__
19
19
 
20
20
  /**
21
- * \file
21
+ * \file
22
22
  * \brief C++ API: "Smart pointers" for use with and in ICU4C C++ code.
23
23
  *
24
24
  * These classes are inspired by
@@ -52,7 +52,7 @@ U_NAMESPACE_BEGIN
52
52
  * Destructor and adoptInstead().
53
53
  *
54
54
  * There is no operator T *() provided because the programmer must decide
55
- * whether to use getAlias() (without transfer of ownership) or orpan()
55
+ * whether to use getAlias() (without transfer of ownership) or orphan()
56
56
  * (with transfer of ownership and NULLing of the pointer).
57
57
  *
58
58
  * @see LocalPointer
@@ -151,11 +151,11 @@ protected:
151
151
  T *ptr;
152
152
  private:
153
153
  // No comparison operators with other LocalPointerBases.
154
- bool operator==(const LocalPointerBase &other);
155
- bool operator!=(const LocalPointerBase &other);
156
- // No ownership transfer: No copy constructor, no assignment operator.
157
- LocalPointerBase(const LocalPointerBase &other);
158
- void operator=(const LocalPointerBase &other);
154
+ bool operator==(const LocalPointerBase<T> &other);
155
+ bool operator!=(const LocalPointerBase<T> &other);
156
+ // No ownership sharing: No copy constructor, no assignment operator.
157
+ LocalPointerBase(const LocalPointerBase<T> &other);
158
+ void operator=(const LocalPointerBase<T> &other);
159
159
  // No heap allocation. Use only on the stack.
160
160
  static void * U_EXPORT2 operator new(size_t size);
161
161
  static void * U_EXPORT2 operator new[](size_t size);
@@ -185,13 +185,14 @@ private:
185
185
  template<typename T>
186
186
  class LocalPointer : public LocalPointerBase<T> {
187
187
  public:
188
+ using LocalPointerBase<T>::operator*;
189
+ using LocalPointerBase<T>::operator->;
188
190
  /**
189
191
  * Constructor takes ownership.
190
192
  * @param p simple pointer to an object that is adopted
191
193
  * @stable ICU 4.4
192
194
  */
193
195
  explicit LocalPointer(T *p=NULL) : LocalPointerBase<T>(p) {}
194
- #ifndef U_HIDE_DRAFT_API
195
196
  /**
196
197
  * Constructor takes ownership and reports an error if NULL.
197
198
  *
@@ -203,13 +204,24 @@ public:
203
204
  * @param p simple pointer to an object that is adopted
204
205
  * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR
205
206
  * if p==NULL and no other failure code had been set
206
- * @draft ICU 55
207
+ * @stable ICU 55
207
208
  */
208
209
  LocalPointer(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
209
210
  if(p==NULL && U_SUCCESS(errorCode)) {
210
211
  errorCode=U_MEMORY_ALLOCATION_ERROR;
211
212
  }
212
213
  }
214
+ #ifndef U_HIDE_DRAFT_API
215
+ #if U_HAVE_RVALUE_REFERENCES
216
+ /**
217
+ * Move constructor, leaves src with isNull().
218
+ * @param src source smart pointer
219
+ * @draft ICU 56
220
+ */
221
+ LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) {
222
+ src.ptr=NULL;
223
+ }
224
+ #endif
213
225
  #endif /* U_HIDE_DRAFT_API */
214
226
  /**
215
227
  * Destructor deletes the object it owns.
@@ -218,6 +230,54 @@ public:
218
230
  ~LocalPointer() {
219
231
  delete LocalPointerBase<T>::ptr;
220
232
  }
233
+ #ifndef U_HIDE_DRAFT_API
234
+ #if U_HAVE_RVALUE_REFERENCES
235
+ /**
236
+ * Move assignment operator, leaves src with isNull().
237
+ * The behavior is undefined if *this and src are the same object.
238
+ * @param src source smart pointer
239
+ * @return *this
240
+ * @draft ICU 56
241
+ */
242
+ LocalPointer<T> &operator=(LocalPointer<T> &&src) U_NOEXCEPT {
243
+ return moveFrom(src);
244
+ }
245
+ #endif
246
+ /**
247
+ * Move assignment, leaves src with isNull().
248
+ * The behavior is undefined if *this and src are the same object.
249
+ *
250
+ * Can be called explicitly, does not need C++11 support.
251
+ * @param src source smart pointer
252
+ * @return *this
253
+ * @draft ICU 56
254
+ */
255
+ LocalPointer<T> &moveFrom(LocalPointer<T> &src) U_NOEXCEPT {
256
+ delete LocalPointerBase<T>::ptr;
257
+ LocalPointerBase<T>::ptr=src.ptr;
258
+ src.ptr=NULL;
259
+ return *this;
260
+ }
261
+ /**
262
+ * Swap pointers.
263
+ * @param other other smart pointer
264
+ * @draft ICU 56
265
+ */
266
+ void swap(LocalPointer<T> &other) U_NOEXCEPT {
267
+ T *temp=LocalPointerBase<T>::ptr;
268
+ LocalPointerBase<T>::ptr=other.ptr;
269
+ other.ptr=temp;
270
+ }
271
+ #endif /* U_HIDE_DRAFT_API */
272
+ /**
273
+ * Non-member LocalPointer swap function.
274
+ * @param p1 will get p2's pointer
275
+ * @param p2 will get p1's pointer
276
+ * @draft ICU 56
277
+ */
278
+ friend inline void swap(LocalPointer<T> &p1, LocalPointer<T> &p2) U_NOEXCEPT {
279
+ p1.swap(p2);
280
+ }
221
281
  /**
222
282
  * Deletes the object it owns,
223
283
  * and adopts (takes ownership of) the one passed in.
@@ -228,7 +288,6 @@ public:
228
288
  delete LocalPointerBase<T>::ptr;
229
289
  LocalPointerBase<T>::ptr=p;
230
290
  }
231
- #ifndef U_HIDE_DRAFT_API
232
291
  /**
233
292
  * Deletes the object it owns,
234
293
  * and adopts (takes ownership of) the one passed in.
@@ -242,7 +301,7 @@ public:
242
301
  * @param p simple pointer to an object that is adopted
243
302
  * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR
244
303
  * if p==NULL and no other failure code had been set
245
- * @draft ICU 55
304
+ * @stable ICU 55
246
305
  */
247
306
  void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
248
307
  if(U_SUCCESS(errorCode)) {
@@ -255,7 +314,6 @@ public:
255
314
  delete p;
256
315
  }
257
316
  }
258
- #endif /* U_HIDE_DRAFT_API */
259
317
  };
260
318
 
261
319
  /**
@@ -279,12 +337,44 @@ public:
279
337
  template<typename T>
280
338
  class LocalArray : public LocalPointerBase<T> {
281
339
  public:
340
+ using LocalPointerBase<T>::operator*;
341
+ using LocalPointerBase<T>::operator->;
282
342
  /**
283
343
  * Constructor takes ownership.
284
344
  * @param p simple pointer to an array of T objects that is adopted
285
345
  * @stable ICU 4.4
286
346
  */
287
347
  explicit LocalArray(T *p=NULL) : LocalPointerBase<T>(p) {}
348
+ #ifndef U_HIDE_DRAFT_API
349
+ /**
350
+ * Constructor takes ownership and reports an error if NULL.
351
+ *
352
+ * This constructor is intended to be used with other-class constructors
353
+ * that may report a failure UErrorCode,
354
+ * so that callers need to check only for U_FAILURE(errorCode)
355
+ * and not also separately for isNull().
356
+ *
357
+ * @param p simple pointer to an array of T objects that is adopted
358
+ * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR
359
+ * if p==NULL and no other failure code had been set
360
+ * @draft ICU 56
361
+ */
362
+ LocalArray(T *p, UErrorCode &errorCode) : LocalPointerBase<T>(p) {
363
+ if(p==NULL && U_SUCCESS(errorCode)) {
364
+ errorCode=U_MEMORY_ALLOCATION_ERROR;
365
+ }
366
+ }
367
+ #if U_HAVE_RVALUE_REFERENCES
368
+ /**
369
+ * Move constructor, leaves src with isNull().
370
+ * @param src source smart pointer
371
+ * @draft ICU 56
372
+ */
373
+ LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) {
374
+ src.ptr=NULL;
375
+ }
376
+ #endif
377
+ #endif /* U_HIDE_DRAFT_API */
288
378
  /**
289
379
  * Destructor deletes the array it owns.
290
380
  * @stable ICU 4.4
@@ -292,6 +382,54 @@ public:
292
382
  ~LocalArray() {
293
383
  delete[] LocalPointerBase<T>::ptr;
294
384
  }
385
+ #ifndef U_HIDE_DRAFT_API
386
+ #if U_HAVE_RVALUE_REFERENCES
387
+ /**
388
+ * Move assignment operator, leaves src with isNull().
389
+ * The behavior is undefined if *this and src are the same object.
390
+ * @param src source smart pointer
391
+ * @return *this
392
+ * @draft ICU 56
393
+ */
394
+ LocalArray<T> &operator=(LocalArray<T> &&src) U_NOEXCEPT {
395
+ return moveFrom(src);
396
+ }
397
+ #endif
398
+ /**
399
+ * Move assignment, leaves src with isNull().
400
+ * The behavior is undefined if *this and src are the same object.
401
+ *
402
+ * Can be called explicitly, does not need C++11 support.
403
+ * @param src source smart pointer
404
+ * @return *this
405
+ * @draft ICU 56
406
+ */
407
+ LocalArray<T> &moveFrom(LocalArray<T> &src) U_NOEXCEPT {
408
+ delete[] LocalPointerBase<T>::ptr;
409
+ LocalPointerBase<T>::ptr=src.ptr;
410
+ src.ptr=NULL;
411
+ return *this;
412
+ }
413
+ /**
414
+ * Swap pointers.
415
+ * @param other other smart pointer
416
+ * @draft ICU 56
417
+ */
418
+ void swap(LocalArray<T> &other) U_NOEXCEPT {
419
+ T *temp=LocalPointerBase<T>::ptr;
420
+ LocalPointerBase<T>::ptr=other.ptr;
421
+ other.ptr=temp;
422
+ }
423
+ #endif /* U_HIDE_DRAFT_API */
424
+ /**
425
+ * Non-member LocalArray swap function.
426
+ * @param p1 will get p2's pointer
427
+ * @param p2 will get p1's pointer
428
+ * @draft ICU 56
429
+ */
430
+ friend inline void swap(LocalArray<T> &p1, LocalArray<T> &p2) U_NOEXCEPT {
431
+ p1.swap(p2);
432
+ }
295
433
  /**
296
434
  * Deletes the array it owns,
297
435
  * and adopts (takes ownership of) the one passed in.
@@ -302,6 +440,34 @@ public:
302
440
  delete[] LocalPointerBase<T>::ptr;
303
441
  LocalPointerBase<T>::ptr=p;
304
442
  }
443
+ #ifndef U_HIDE_DRAFT_API
444
+ /**
445
+ * Deletes the array it owns,
446
+ * and adopts (takes ownership of) the one passed in.
447
+ *
448
+ * If U_FAILURE(errorCode), then the current array is retained and the new one deleted.
449
+ *
450
+ * If U_SUCCESS(errorCode) but the input pointer is NULL,
451
+ * then U_MEMORY_ALLOCATION_ERROR is set,
452
+ * the current array is deleted, and NULL is set.
453
+ *
454
+ * @param p simple pointer to an array of T objects that is adopted
455
+ * @param errorCode in/out UErrorCode, set to U_MEMORY_ALLOCATION_ERROR
456
+ * if p==NULL and no other failure code had been set
457
+ * @draft ICU 56
458
+ */
459
+ void adoptInsteadAndCheckErrorCode(T *p, UErrorCode &errorCode) {
460
+ if(U_SUCCESS(errorCode)) {
461
+ delete[] LocalPointerBase<T>::ptr;
462
+ LocalPointerBase<T>::ptr=p;
463
+ if(p==NULL) {
464
+ errorCode=U_MEMORY_ALLOCATION_ERROR;
465
+ }
466
+ } else {
467
+ delete[] p;
468
+ }
469
+ }
470
+ #endif /* U_HIDE_DRAFT_API */
305
471
  /**
306
472
  * Array item access (writable).
307
473
  * No index bounds check.
@@ -335,16 +501,68 @@ public:
335
501
  * @see LocalPointer
336
502
  * @stable ICU 4.4
337
503
  */
504
+ #if U_HAVE_RVALUE_REFERENCES
338
505
  #define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction) \
339
506
  class LocalPointerClassName : public LocalPointerBase<Type> { \
340
507
  public: \
508
+ using LocalPointerBase<Type>::operator*; \
509
+ using LocalPointerBase<Type>::operator->; \
341
510
  explicit LocalPointerClassName(Type *p=NULL) : LocalPointerBase<Type>(p) {} \
511
+ LocalPointerClassName(LocalPointerClassName &&src) U_NOEXCEPT \
512
+ : LocalPointerBase<Type>(src.ptr) { \
513
+ src.ptr=NULL; \
514
+ } \
342
515
  ~LocalPointerClassName() { closeFunction(ptr); } \
516
+ LocalPointerClassName &operator=(LocalPointerClassName &&src) U_NOEXCEPT { \
517
+ return moveFrom(src); \
518
+ } \
519
+ LocalPointerClassName &moveFrom(LocalPointerClassName &src) U_NOEXCEPT { \
520
+ closeFunction(ptr); \
521
+ LocalPointerBase<Type>::ptr=src.ptr; \
522
+ src.ptr=NULL; \
523
+ return *this; \
524
+ } \
525
+ void swap(LocalPointerClassName &other) U_NOEXCEPT { \
526
+ Type *temp=LocalPointerBase<Type>::ptr; \
527
+ LocalPointerBase<Type>::ptr=other.ptr; \
528
+ other.ptr=temp; \
529
+ } \
530
+ friend inline void swap(LocalPointerClassName &p1, LocalPointerClassName &p2) U_NOEXCEPT { \
531
+ p1.swap(p2); \
532
+ } \
343
533
  void adoptInstead(Type *p) { \
344
534
  closeFunction(ptr); \
345
535
  ptr=p; \
346
536
  } \
347
537
  }
538
+ #else
539
+ #define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction) \
540
+ class LocalPointerClassName : public LocalPointerBase<Type> { \
541
+ public: \
542
+ using LocalPointerBase<Type>::operator*; \
543
+ using LocalPointerBase<Type>::operator->; \
544
+ explicit LocalPointerClassName(Type *p=NULL) : LocalPointerBase<Type>(p) {} \
545
+ ~LocalPointerClassName() { closeFunction(ptr); } \
546
+ LocalPointerClassName &moveFrom(LocalPointerClassName &src) U_NOEXCEPT { \
547
+ closeFunction(ptr); \
548
+ LocalPointerBase<Type>::ptr=src.ptr; \
549
+ src.ptr=NULL; \
550
+ return *this; \
551
+ } \
552
+ void swap(LocalPointerClassName &other) U_NOEXCEPT { \
553
+ Type *temp=LocalPointerBase<Type>::ptr; \
554
+ LocalPointerBase<Type>::ptr=other.ptr; \
555
+ other.ptr=temp; \
556
+ } \
557
+ friend inline void swap(LocalPointerClassName &p1, LocalPointerClassName &p2) U_NOEXCEPT { \
558
+ p1.swap(p2); \
559
+ } \
560
+ void adoptInstead(Type *p) { \
561
+ closeFunction(ptr); \
562
+ ptr=p; \
563
+ } \
564
+ }
565
+ #endif
348
566
 
349
567
  U_NAMESPACE_END
350
568