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) 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