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) 2010-2012, International Business Machines
3
+ * Copyright (C) 2010-2012,2015 International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  *****************************************************************************************
6
6
  */
@@ -160,6 +160,9 @@ U_NAMESPACE_END
160
160
  * the beginning and ending indices of field number position->field,
161
161
  * if such a field exists. This parameter may be NULL, in which case
162
162
  * no field position data is returned.
163
+ * There may be multiple instances of a given field type in an
164
+ * interval format; in this case the position indices refer to the
165
+ * first instance.
163
166
  * @param status
164
167
  * A pointer to a UErrorCode to receive any errors.
165
168
  * @return
@@ -259,7 +259,8 @@ udatpg_getBestPatternWithOptions(UDateTimePatternGenerator *dtpg,
259
259
  * Consecutive calls to this function do not affect each other,
260
260
  * but this function cannot be used concurrently on a single generator object.
261
261
  *
262
- * @param dtpg a pointer to UDateTimePatternGenerator.
262
+ * @param unusedDtpg a pointer to UDateTimePatternGenerator.
263
+ * This parameter is no longer used. Callers may pass NULL.
263
264
  * @param pattern input pattern, such as "dd/MMM".
264
265
  * @param length the length of pattern.
265
266
  * @param skeleton such as "MMMdd"
@@ -270,7 +271,7 @@ udatpg_getBestPatternWithOptions(UDateTimePatternGenerator *dtpg,
270
271
  * @stable ICU 3.8
271
272
  */
272
273
  U_STABLE int32_t U_EXPORT2
273
- udatpg_getSkeleton(UDateTimePatternGenerator *dtpg,
274
+ udatpg_getSkeleton(UDateTimePatternGenerator *unusedDtpg,
274
275
  const UChar *pattern, int32_t length,
275
276
  UChar *skeleton, int32_t capacity,
276
277
  UErrorCode *pErrorCode);
@@ -288,7 +289,8 @@ udatpg_getSkeleton(UDateTimePatternGenerator *dtpg,
288
289
  * Consecutive calls to this function do not affect each other,
289
290
  * but this function cannot be used concurrently on a single generator object.
290
291
  *
291
- * @param dtpg a pointer to UDateTimePatternGenerator.
292
+ * @param unusedDtpg a pointer to UDateTimePatternGenerator.
293
+ * This parameter is no longer used. Callers may pass NULL.
292
294
  * @param pattern input pattern, such as "dd/MMM".
293
295
  * @param length the length of pattern.
294
296
  * @param baseSkeleton such as "Md"
@@ -299,7 +301,7 @@ udatpg_getSkeleton(UDateTimePatternGenerator *dtpg,
299
301
  * @stable ICU 3.8
300
302
  */
301
303
  U_STABLE int32_t U_EXPORT2
302
- udatpg_getBaseSkeleton(UDateTimePatternGenerator *dtpg,
304
+ udatpg_getBaseSkeleton(UDateTimePatternGenerator *unusedDtpg,
303
305
  const UChar *pattern, int32_t length,
304
306
  UChar *baseSkeleton, int32_t capacity,
305
307
  UErrorCode *pErrorCode);
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *****************************************************************************************
3
- * Copyright (C) 2014, International Business Machines
3
+ * Copyright (C) 2014-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  *****************************************************************************************
6
6
  */
@@ -35,16 +35,13 @@ enum UDisplayContextType {
35
35
  * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE, etc.
36
36
  * @stable ICU 51
37
37
  */
38
- UDISPCTX_TYPE_CAPITALIZATION = 1
39
- #ifndef U_HIDE_DRAFT_API
40
- ,
38
+ UDISPCTX_TYPE_CAPITALIZATION = 1,
41
39
  /**
42
40
  * Type to retrieve the display length setting, e.g.
43
41
  * UDISPCTX_LENGTH_FULL, UDISPCTX_LENGTH_SHORT.
44
- * @draft ICU 54
42
+ * @stable ICU 54
45
43
  */
46
44
  UDISPCTX_TYPE_DISPLAY_LENGTH = 2
47
- #endif /* U_HIDE_DRAFT_API */
48
45
  };
49
46
  /**
50
47
  * @stable ICU 51
@@ -115,9 +112,7 @@ enum UDisplayContext {
115
112
  * isolated name on a calendar page.
116
113
  * @stable ICU 51
117
114
  */
118
- UDISPCTX_CAPITALIZATION_FOR_STANDALONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 4
119
- #ifndef U_HIDE_DRAFT_API
120
- ,
115
+ UDISPCTX_CAPITALIZATION_FOR_STANDALONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 4,
121
116
  /**
122
117
  * ================================
123
118
  * DISPLAY_LENGTH can be set to one of UDISPCTX_LENGTH_FULL or
@@ -128,17 +123,16 @@ enum UDisplayContext {
128
123
  * A possible setting for DISPLAY_LENGTH:
129
124
  * use full names when generating a locale name,
130
125
  * e.g. "United States" for US.
131
- * @draft ICU 54
126
+ * @stable ICU 54
132
127
  */
133
128
  UDISPCTX_LENGTH_FULL = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 0,
134
129
  /**
135
130
  * A possible setting for DISPLAY_LENGTH:
136
131
  * use short names when generating a locale name,
137
132
  * e.g. "U.S." for US.
138
- * @draft ICU 54
133
+ * @stable ICU 54
139
134
  */
140
135
  UDISPCTX_LENGTH_SHORT = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 1
141
- #endif /* U_HIDE_DRAFT_API */
142
136
  };
143
137
  /**
144
138
  * @stable ICU 51
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *****************************************************************************************
3
- * Copyright (C) 2015, International Business Machines
3
+ * Copyright (C) 2015-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  *****************************************************************************************
6
6
  */
@@ -11,7 +11,6 @@
11
11
  #include "unicode/utypes.h"
12
12
 
13
13
  #if !UCONFIG_NO_FORMATTING
14
- #ifndef U_HIDE_DRAFT_API
15
14
 
16
15
  #include "unicode/localpointer.h"
17
16
 
@@ -37,10 +36,10 @@
37
36
 
38
37
  /**
39
38
  * Opaque UFieldPositionIterator object for use in C.
40
- * @draft ICU 55
39
+ * @stable ICU 55
41
40
  */
42
41
  struct UFieldPositionIterator;
43
- typedef struct UFieldPositionIterator UFieldPositionIterator; /**< C typedef for struct UFieldPositionIterator. @draft ICU 55 */
42
+ typedef struct UFieldPositionIterator UFieldPositionIterator; /**< C typedef for struct UFieldPositionIterator. @stable ICU 55 */
44
43
 
45
44
  /**
46
45
  * Open a new, unset UFieldPositionIterator object.
@@ -49,18 +48,18 @@ typedef struct UFieldPositionIterator UFieldPositionIterator; /**< C typedef fo
49
48
  * @return
50
49
  * A pointer to an empty (unset) UFieldPositionIterator object,
51
50
  * or NULL if an error occurred.
52
- * @draft ICU 55
51
+ * @stable ICU 55
53
52
  */
54
- U_DRAFT UFieldPositionIterator* U_EXPORT2
53
+ U_STABLE UFieldPositionIterator* U_EXPORT2
55
54
  ufieldpositer_open(UErrorCode* status);
56
55
 
57
56
  /**
58
57
  * Close a UFieldPositionIterator object. Once closed it may no longer be used.
59
58
  * @param fpositer
60
59
  * A pointer to the UFieldPositionIterator object to close.
61
- * @draft ICU 55
60
+ * @stable ICU 55
62
61
  */
63
- U_DRAFT void U_EXPORT2
62
+ U_STABLE void U_EXPORT2
64
63
  ufieldpositer_close(UFieldPositionIterator *fpositer);
65
64
 
66
65
 
@@ -75,7 +74,7 @@ U_NAMESPACE_BEGIN
75
74
  *
76
75
  * @see LocalPointerBase
77
76
  * @see LocalPointer
78
- * @draft ICU 55
77
+ * @stable ICU 55
79
78
  */
80
79
  U_DEFINE_LOCAL_OPEN_POINTER(LocalUFieldPositionIteratorPointer, UFieldPositionIterator, ufieldpositer_close);
81
80
 
@@ -109,13 +108,12 @@ U_NAMESPACE_END
109
108
  * descriptions of format functions that take a UFieldPositionIterator*
110
109
  * parameter, such as {@link #udat_formatForFields}.
111
110
  *
112
- * @draft ICU 55
111
+ * @stable ICU 55
113
112
  */
114
- U_DRAFT int32_t U_EXPORT2
113
+ U_STABLE int32_t U_EXPORT2
115
114
  ufieldpositer_next(UFieldPositionIterator *fpositer,
116
115
  int32_t *beginIndex, int32_t *endIndex);
117
116
 
118
- #endif /* U_HIDE_DRAFT_API */
119
117
  #endif /* #if !UCONFIG_NO_FORMATTING */
120
118
 
121
119
  #endif
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *******************************************************************************
3
- * Copyright (C) 2010-2014, International Business Machines Corporation and *
4
- * others. All Rights Reserved. *
3
+ * Copyright (C) 2010-2016, International Business Machines Corporation and
4
+ * others. All Rights Reserved.
5
5
  *******************************************************************************
6
6
  */
7
7
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *****************************************************************************************
3
- * Copyright (C) 2015, International Business Machines
3
+ * Copyright (C) 2015-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  *****************************************************************************************
6
6
  */
@@ -11,7 +11,6 @@
11
11
  #include "unicode/utypes.h"
12
12
 
13
13
  #if !UCONFIG_NO_FORMATTING
14
- #ifndef U_HIDE_DRAFT_API
15
14
 
16
15
  #include "unicode/localpointer.h"
17
16
 
@@ -27,10 +26,10 @@
27
26
 
28
27
  /**
29
28
  * Opaque UListFormatter object for use in C
30
- * @draft ICU 55
29
+ * @stable ICU 55
31
30
  */
32
31
  struct UListFormatter;
33
- typedef struct UListFormatter UListFormatter; /**< C typedef for struct UListFormatter. @draft ICU 55 */
32
+ typedef struct UListFormatter UListFormatter; /**< C typedef for struct UListFormatter. @stable ICU 55 */
34
33
 
35
34
  /**
36
35
  * Open a new UListFormatter object using the rules for a given locale.
@@ -46,9 +45,9 @@ typedef struct UListFormatter UListFormatter; /**< C typedef for struct UListFo
46
45
  * @return
47
46
  * A pointer to a UListFormatter object for the specified locale,
48
47
  * or NULL if an error occurred.
49
- * @draft ICU 55
48
+ * @stable ICU 55
50
49
  */
51
- U_DRAFT UListFormatter* U_EXPORT2
50
+ U_STABLE UListFormatter* U_EXPORT2
52
51
  ulistfmt_open(const char* locale,
53
52
  UErrorCode* status);
54
53
 
@@ -56,9 +55,9 @@ ulistfmt_open(const char* locale,
56
55
  * Close a UListFormatter object. Once closed it may no longer be used.
57
56
  * @param listfmt
58
57
  * The UListFormatter object to close.
59
- * @draft ICU 55
58
+ * @stable ICU 55
60
59
  */
61
- U_DRAFT void U_EXPORT2
60
+ U_STABLE void U_EXPORT2
62
61
  ulistfmt_close(UListFormatter *listfmt);
63
62
 
64
63
 
@@ -73,7 +72,7 @@ U_NAMESPACE_BEGIN
73
72
  *
74
73
  * @see LocalPointerBase
75
74
  * @see LocalPointer
76
- * @draft ICU 55
75
+ * @stable ICU 55
77
76
  */
78
77
  U_DEFINE_LOCAL_OPEN_POINTER(LocalUListFormatterPointer, UListFormatter, ulistfmt_close);
79
78
 
@@ -113,7 +112,7 @@ U_NAMESPACE_END
113
112
  * The total buffer size needed; if greater than resultLength, the
114
113
  * output was truncated. May be <=0 if unable to determine the
115
114
  * total buffer size needed (e.g. for illegal arguments).
116
- * @draft ICU 55
115
+ * @stable ICU 55
117
116
  */
118
117
  U_DRAFT int32_t U_EXPORT2
119
118
  ulistfmt_format(const UListFormatter* listfmt,
@@ -124,7 +123,6 @@ ulistfmt_format(const UListFormatter* listfmt,
124
123
  int32_t resultCapacity,
125
124
  UErrorCode* status);
126
125
 
127
- #endif /* U_HIDE_DRAFT_API */
128
126
  #endif /* #if !UCONFIG_NO_FORMATTING */
129
127
 
130
128
  #endif
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  **********************************************************************
3
- * Copyright (C) 1997-2014, International Business Machines
3
+ * Copyright (C) 1997-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  **********************************************************************
6
6
  *
@@ -588,6 +588,8 @@ uloc_getDisplayScript(const char* locale,
588
588
 
589
589
  /**
590
590
  * Gets the country name suitable for display for the specified locale.
591
+ * Warning: this is for the region part of a valid locale ID; it cannot just be the region code (like "FR").
592
+ * To get the display name for a region alone, or for other options, use ULocaleDisplayNames instead.
591
593
  *
592
594
  * @param locale the locale to get the displayable country code with. NULL may be used to specify the default.
593
595
  * @param displayLocale Specifies the locale to be used to display the name. In other words,
@@ -886,7 +888,6 @@ uloc_setKeywordValue(const char* keywordName,
886
888
  char* buffer, int32_t bufferCapacity,
887
889
  UErrorCode* status);
888
890
 
889
- #ifndef U_HIDE_DRAFT_API
890
891
  /**
891
892
  * Returns whether the locale's script is written right-to-left.
892
893
  * If there is no script subtag, then the likely script is used, see uloc_addLikelySubtags().
@@ -899,11 +900,10 @@ uloc_setKeywordValue(const char* keywordName,
899
900
  *
900
901
  * @param locale input locale ID
901
902
  * @return TRUE if the locale's script is written right-to-left
902
- * @draft ICU 54
903
+ * @stable ICU 54
903
904
  */
904
- U_DRAFT UBool U_EXPORT2
905
+ U_STABLE UBool U_EXPORT2
905
906
  uloc_isRightToLeft(const char *locale);
906
- #endif /* U_HIDE_DRAFT_API */
907
907
 
908
908
  /**
909
909
  * enums for the return value for the character and line orientation
@@ -1151,7 +1151,6 @@ uloc_toLanguageTag(const char* localeID,
1151
1151
  UBool strict,
1152
1152
  UErrorCode* err);
1153
1153
 
1154
- #ifndef U_HIDE_DRAFT_API
1155
1154
  /**
1156
1155
  * Converts the specified keyword (legacy key, or BCP 47 Unicode locale
1157
1156
  * extension key) to the equivalent BCP 47 Unicode locale extension key.
@@ -1171,9 +1170,9 @@ uloc_toLanguageTag(const char* localeID,
1171
1170
  * mapped to a well-formed BCP 47 Unicode locale extension
1172
1171
  * key.
1173
1172
  * @see uloc_toLegacyKey
1174
- * @draft ICU 54
1173
+ * @stable ICU 54
1175
1174
  */
1176
- U_DRAFT const char* U_EXPORT2
1175
+ U_STABLE const char* U_EXPORT2
1177
1176
  uloc_toUnicodeLocaleKey(const char* keyword);
1178
1177
 
1179
1178
  /**
@@ -1202,9 +1201,9 @@ uloc_toUnicodeLocaleKey(const char* keyword);
1202
1201
  * or NULL if the locale keyword value cannot be mapped to
1203
1202
  * a well-formed BCP 47 Unicode locale extension type.
1204
1203
  * @see uloc_toLegacyType
1205
- * @draft ICU 54
1204
+ * @stable ICU 54
1206
1205
  */
1207
- U_DRAFT const char* U_EXPORT2
1206
+ U_STABLE const char* U_EXPORT2
1208
1207
  uloc_toUnicodeLocaleType(const char* keyword, const char* value);
1209
1208
 
1210
1209
  /**
@@ -1217,9 +1216,9 @@ uloc_toUnicodeLocaleType(const char* keyword, const char* value);
1217
1216
  * @return the well-formed legacy key, or NULL if the specified
1218
1217
  * keyword cannot be mapped to a well-formed legacy key.
1219
1218
  * @see toUnicodeLocaleKey
1220
- * @draft ICU 54
1219
+ * @stable ICU 54
1221
1220
  */
1222
- U_DRAFT const char* U_EXPORT2
1221
+ U_STABLE const char* U_EXPORT2
1223
1222
  uloc_toLegacyKey(const char* keyword);
1224
1223
 
1225
1224
  /**
@@ -1246,11 +1245,9 @@ uloc_toLegacyKey(const char* keyword);
1246
1245
  * keyword value cannot be mapped to a well-formed legacy
1247
1246
  * type.
1248
1247
  * @see toUnicodeLocaleType
1249
- * @draft ICU 54
1248
+ * @stable ICU 54
1250
1249
  */
1251
- U_DRAFT const char* U_EXPORT2
1250
+ U_STABLE const char* U_EXPORT2
1252
1251
  uloc_toLegacyType(const char* keyword, const char* value);
1253
1252
 
1254
- #endif /* U_HIDE_DRAFT_API */
1255
-
1256
1253
  #endif /*_ULOC*/
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  ******************************************************************************
3
3
  *
4
- * Copyright (C) 1999-2014, International Business Machines
4
+ * Copyright (C) 1999-2015, International Business Machines
5
5
  * Corporation and others. All Rights Reserved.
6
6
  *
7
7
  ******************************************************************************
@@ -132,7 +132,7 @@
132
132
  * @internal
133
133
  */
134
134
 
135
- #if defined(__cplusplus) && __cplusplus>=201103L
135
+ #if U_CPLUSPLUS_VERSION >= 11
136
136
  /* C++11 */
137
137
  #ifndef U_OVERRIDE
138
138
  #define U_OVERRIDE override
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  ***************************************************************************
3
- * Copyright (C) 1999-2014, International Business Machines Corporation
3
+ * Copyright (C) 1999-2016, International Business Machines Corporation
4
4
  * and others. All Rights Reserved.
5
5
  ***************************************************************************
6
6
  * Date Name Description
@@ -307,12 +307,12 @@ public:
307
307
  * A bogus set has no value. It is different from an empty set.
308
308
  * It can be used to indicate that no set value is available.
309
309
  *
310
- * @return TRUE if the set is valid, FALSE otherwise
310
+ * @return TRUE if the set is bogus/invalid, FALSE otherwise
311
311
  * @see setToBogus()
312
312
  * @stable ICU 4.0
313
313
  */
314
314
  inline UBool isBogus(void) const;
315
-
315
+
316
316
  /**
317
317
  * Make this UnicodeSet object invalid.
318
318
  * The string will test TRUE with isBogus().
@@ -369,6 +369,28 @@ public:
369
369
  */
370
370
  UnicodeSet(UChar32 start, UChar32 end);
371
371
 
372
+ #ifndef U_HIDE_INTERNAL_API
373
+ /**
374
+ * @internal
375
+ */
376
+ enum ESerialization {
377
+ kSerialized /* result of serialize() */
378
+ };
379
+
380
+ /**
381
+ * Constructs a set from the output of serialize().
382
+ *
383
+ * @param buffer the 16 bit array
384
+ * @param bufferLen the original length returned from serialize()
385
+ * @param serialization the value 'kSerialized'
386
+ * @param status error code
387
+ *
388
+ * @internal
389
+ */
390
+ UnicodeSet(const uint16_t buffer[], int32_t bufferLen,
391
+ ESerialization serialization, UErrorCode &status);
392
+ #endif /* U_HIDE_INTERNAL_API */
393
+
372
394
  /**
373
395
  * Constructs a set from the given pattern. See the class
374
396
  * description for the syntax of the pattern language.
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  **********************************************************************
3
- * Copyright (C) 1998-2014, International Business Machines
3
+ * Copyright (C) 1998-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  **********************************************************************
6
6
  *
@@ -22,8 +22,8 @@
22
22
  #define UNISTR_H
23
23
 
24
24
  /**
25
- * \file
26
- * \brief C++ API: Unicode String
25
+ * \file
26
+ * \brief C++ API: Unicode String
27
27
  */
28
28
 
29
29
  #include "unicode/utypes.h"
@@ -34,7 +34,6 @@
34
34
  #include "unicode/ucasemap.h"
35
35
 
36
36
  struct UConverter; // unicode/ucnv.h
37
- class StringThreadTest;
38
37
 
39
38
  #ifndef U_COMPARE_CODE_POINT_ORDER
40
39
  /* see also ustring.h and unorm.h */
@@ -173,20 +172,69 @@ class UnicodeStringAppendable; // unicode/appendable.h
173
172
  # endif
174
173
  #endif
175
174
 
175
+ /* Cannot make the following #ifndef U_HIDE_DRAFT_API,
176
+ it is used to construct other non-internal constants */
177
+ /**
178
+ * \def UNISTR_OBJECT_SIZE
179
+ * Desired sizeof(UnicodeString) in bytes.
180
+ * It should be a multiple of sizeof(pointer) to avoid unusable space for padding.
181
+ * The object size may want to be a multiple of 16 bytes,
182
+ * which is a common granularity for heap allocation.
183
+ *
184
+ * Any space inside the object beyond sizeof(vtable pointer) + 2
185
+ * is available for storing short strings inside the object.
186
+ * The bigger the object, the longer a string that can be stored inside the object,
187
+ * without additional heap allocation.
188
+ *
189
+ * Depending on a platform's pointer size, pointer alignment requirements,
190
+ * and struct padding, the compiler will usually round up sizeof(UnicodeString)
191
+ * to 4 * sizeof(pointer) (or 3 * sizeof(pointer) for P128 data models),
192
+ * to hold the fields for heap-allocated strings.
193
+ * Such a minimum size also ensures that the object is easily large enough
194
+ * to hold at least 2 UChars, for one supplementary code point (U16_MAX_LENGTH).
195
+ *
196
+ * sizeof(UnicodeString) >= 48 should work for all known platforms.
197
+ *
198
+ * For example, on a 64-bit machine where sizeof(vtable pointer) is 8,
199
+ * sizeof(UnicodeString) = 64 would leave space for
200
+ * (64 - sizeof(vtable pointer) - 2) / U_SIZEOF_UCHAR = (64 - 8 - 2) / 2 = 27
201
+ * UChars stored inside the object.
202
+ *
203
+ * The minimum object size on a 64-bit machine would be
204
+ * 4 * sizeof(pointer) = 4 * 8 = 32 bytes,
205
+ * and the internal buffer would hold up to 11 UChars in that case.
206
+ *
207
+ * @see U16_MAX_LENGTH
208
+ * @draft ICU 56
209
+ */
210
+ #ifndef UNISTR_OBJECT_SIZE
211
+ # define UNISTR_OBJECT_SIZE 64
212
+ #endif
213
+
176
214
  /**
177
215
  * UnicodeString is a string class that stores Unicode characters directly and provides
178
- * similar functionality as the Java String and StringBuffer classes.
216
+ * similar functionality as the Java String and StringBuffer/StringBuilder classes.
179
217
  * It is a concrete implementation of the abstract class Replaceable (for transliteration).
180
218
  *
219
+ * A UnicodeString may also "alias" an external array of characters
220
+ * (that is, point to it, rather than own the array)
221
+ * whose lifetime must then at least match the lifetime of the aliasing object.
222
+ * This aliasing may be preserved when returning a UnicodeString by value,
223
+ * depending on the compiler and the function implementation,
224
+ * via Return Value Optimization (RVO) or the move assignment operator.
225
+ * (However, the copy assignment operator does not preserve aliasing.)
226
+ * For details see the description of storage models at the end of the class API docs
227
+ * and in the User Guide chapter linked from there.
228
+ *
181
229
  * The UnicodeString class is not suitable for subclassing.
182
230
  *
183
231
  * <p>For an overview of Unicode strings in C and C++ see the
184
- * <a href="http://icu-project.org/userguide/strings.html">User Guide Strings chapter</a>.</p>
232
+ * <a href="http://userguide.icu-project.org/strings#TOC-Strings-in-C-C-">User Guide Strings chapter</a>.</p>
185
233
  *
186
234
  * <p>In ICU, a Unicode string consists of 16-bit Unicode <em>code units</em>.
187
235
  * A Unicode character may be stored with either one code unit
188
236
  * (the most common case) or with a matched pair of special code units
189
- * ("surrogates"). The data type for code units is UChar.
237
+ * ("surrogates"). The data type for code units is UChar.
190
238
  * For single-character handling, a Unicode character code <em>point</em> is a value
191
239
  * in the range 0..0x10ffff. ICU uses the UChar32 type for code points.</p>
192
240
  *
@@ -236,7 +284,7 @@ class UnicodeStringAppendable; // unicode/appendable.h
236
284
  * significant performance improvements.
237
285
  * Also, the internal buffer is accessible via special functions.
238
286
  * For details see the
239
- * <a href="http://icu-project.org/userguide/strings.html">User Guide Strings chapter</a>.</p>
287
+ * <a href="http://userguide.icu-project.org/strings#TOC-Maximizing-Performance-with-the-UnicodeString-Storage-Model">User Guide Strings chapter</a>.</p>
240
288
  *
241
289
  * @see utf.h
242
290
  * @see CharacterIterator
@@ -1481,12 +1529,12 @@ public:
1481
1529
  UnicodeString& target) const;
1482
1530
 
1483
1531
  /**
1484
- * Copy the characters in the range
1485
- * [<tt>start</TT>, <tt>start + length</TT>) into an array of characters.
1532
+ * Copy the characters in the range
1533
+ * [<tt>start</TT>, <tt>start + startLength</TT>) into an array of characters.
1486
1534
  * All characters must be invariant (see utypes.h).
1487
1535
  * Use US_INV as the last, signature-distinguishing parameter.
1488
1536
  *
1489
- * This function does not write any more than <code>targetLength</code>
1537
+ * This function does not write any more than <code>targetCapacity</code>
1490
1538
  * characters but returns the length of the entire output string
1491
1539
  * so that one can allocate a larger buffer and call the function again
1492
1540
  * if necessary.
@@ -1810,9 +1858,20 @@ public:
1810
1858
  /**
1811
1859
  * Assignment operator. Replace the characters in this UnicodeString
1812
1860
  * with the characters from <TT>srcText</TT>.
1861
+ *
1862
+ * Starting with ICU 2.4, the assignment operator and the copy constructor
1863
+ * allocate a new buffer and copy the buffer contents even for readonly aliases.
1864
+ * By contrast, the fastCopyFrom() function implements the old,
1865
+ * more efficient but less safe behavior
1866
+ * of making this string also a readonly alias to the same buffer.
1867
+ *
1868
+ * If the source object has an "open" buffer from getBuffer(minCapacity),
1869
+ * then the copy is an empty string.
1870
+ *
1813
1871
  * @param srcText The text containing the characters to replace
1814
1872
  * @return a reference to this
1815
1873
  * @stable ICU 2.0
1874
+ * @see fastCopyFrom
1816
1875
  */
1817
1876
  UnicodeString &operator=(const UnicodeString &srcText);
1818
1877
 
@@ -1834,12 +1893,60 @@ public:
1834
1893
  * including its contents, for example for strings from resource bundles
1835
1894
  * or aliases to string constants.
1836
1895
  *
1896
+ * If the source object has an "open" buffer from getBuffer(minCapacity),
1897
+ * then the copy is an empty string.
1898
+ *
1837
1899
  * @param src The text containing the characters to replace.
1838
1900
  * @return a reference to this
1839
1901
  * @stable ICU 2.4
1840
1902
  */
1841
1903
  UnicodeString &fastCopyFrom(const UnicodeString &src);
1842
1904
 
1905
+ #ifndef U_HIDE_DRAFT_API
1906
+ #if U_HAVE_RVALUE_REFERENCES
1907
+ /**
1908
+ * Move assignment operator, might leave src in bogus state.
1909
+ * This string will have the same contents and state that the source string had.
1910
+ * The behavior is undefined if *this and src are the same object.
1911
+ * @param src source string
1912
+ * @return *this
1913
+ * @draft ICU 56
1914
+ */
1915
+ UnicodeString &operator=(UnicodeString &&src) U_NOEXCEPT {
1916
+ return moveFrom(src);
1917
+ }
1918
+ #endif
1919
+ /**
1920
+ * Move assignment, might leave src in bogus state.
1921
+ * This string will have the same contents and state that the source string had.
1922
+ * The behavior is undefined if *this and src are the same object.
1923
+ *
1924
+ * Can be called explicitly, does not need C++11 support.
1925
+ * @param src source string
1926
+ * @return *this
1927
+ * @draft ICU 56
1928
+ */
1929
+ UnicodeString &moveFrom(UnicodeString &src) U_NOEXCEPT;
1930
+
1931
+ /**
1932
+ * Swap strings.
1933
+ * @param other other string
1934
+ * @draft ICU 56
1935
+ */
1936
+ void swap(UnicodeString &other) U_NOEXCEPT;
1937
+ #endif /* U_HIDE_DRAFT_API */
1938
+
1939
+ /**
1940
+ * Non-member UnicodeString swap function.
1941
+ * @param s1 will get s2's contents and state
1942
+ * @param s2 will get s1's contents and state
1943
+ * @draft ICU 56
1944
+ */
1945
+ friend U_COMMON_API inline void U_EXPORT2
1946
+ swap(UnicodeString &s1, UnicodeString &s2) U_NOEXCEPT {
1947
+ s1.swap(s2);
1948
+ }
1949
+
1843
1950
  /**
1844
1951
  * Assignment operator. Replace the characters in this UnicodeString
1845
1952
  * with the code unit <TT>ch</TT>.
@@ -3089,11 +3196,34 @@ public:
3089
3196
 
3090
3197
  /**
3091
3198
  * Copy constructor.
3199
+ *
3200
+ * Starting with ICU 2.4, the assignment operator and the copy constructor
3201
+ * allocate a new buffer and copy the buffer contents even for readonly aliases.
3202
+ * By contrast, the fastCopyFrom() function implements the old,
3203
+ * more efficient but less safe behavior
3204
+ * of making this string also a readonly alias to the same buffer.
3205
+ *
3206
+ * If the source object has an "open" buffer from getBuffer(minCapacity),
3207
+ * then the copy is an empty string.
3208
+ *
3092
3209
  * @param that The UnicodeString object to copy.
3093
3210
  * @stable ICU 2.0
3211
+ * @see fastCopyFrom
3094
3212
  */
3095
3213
  UnicodeString(const UnicodeString& that);
3096
3214
 
3215
+ #ifndef U_HIDE_DRAFT_API
3216
+ #if U_HAVE_RVALUE_REFERENCES
3217
+ /**
3218
+ * Move constructor, might leave src in bogus state.
3219
+ * This string will have the same contents and state that the source string had.
3220
+ * @param src source string
3221
+ * @draft ICU 56
3222
+ */
3223
+ UnicodeString(UnicodeString &&src) U_NOEXCEPT;
3224
+ #endif
3225
+ #endif /* U_HIDE_DRAFT_API */
3226
+
3097
3227
  /**
3098
3228
  * 'Substring' constructor from tail of source string.
3099
3229
  * @param src The UnicodeString object to copy.
@@ -3359,6 +3489,9 @@ private:
3359
3489
  int32_t srcStart,
3360
3490
  int32_t srcLength);
3361
3491
 
3492
+ UnicodeString& doAppend(const UnicodeString& src, int32_t srcStart, int32_t srcLength);
3493
+ UnicodeString& doAppend(const UChar *srcChars, int32_t srcStart, int32_t srcLength);
3494
+
3362
3495
  UnicodeString& doReverse(int32_t start,
3363
3496
  int32_t length);
3364
3497
 
@@ -3403,6 +3536,9 @@ private:
3403
3536
  // implements assigment operator, copy constructor, and fastCopyFrom()
3404
3537
  UnicodeString &copyFrom(const UnicodeString &src, UBool fastCopy=FALSE);
3405
3538
 
3539
+ // Copies just the fields without memory management.
3540
+ void copyFieldsFrom(UnicodeString &src, UBool setSrcToBogus) U_NOEXCEPT;
3541
+
3406
3542
  // Pin start and limit to acceptable values.
3407
3543
  inline void pinIndex(int32_t& start) const;
3408
3544
  inline void pinIndices(int32_t& start,
@@ -3474,9 +3610,12 @@ private:
3474
3610
 
3475
3611
  // constants
3476
3612
  enum {
3477
- // Set the stack buffer size so that sizeof(UnicodeString) is,
3478
- // naturally (without padding), a multiple of sizeof(pointer).
3479
- US_STACKBUF_SIZE= sizeof(void *)==4 ? 13 : 15, // Size of stack buffer for short strings
3613
+ /**
3614
+ * Size of stack buffer for short strings.
3615
+ * Must be at least U16_MAX_LENGTH for the single-code point constructor to work.
3616
+ * @see UNISTR_OBJECT_SIZE
3617
+ */
3618
+ US_STACKBUF_SIZE=(int32_t)(UNISTR_OBJECT_SIZE-sizeof(void *)-2)/U_SIZEOF_UCHAR,
3480
3619
  kInvalidUChar=0xffff, // U+FFFF returned by charAt(invalid index)
3481
3620
  kGrowSize=128, // grow size for this buffer
3482
3621
  kInvalidHashCode=0, // invalid hash code
@@ -3503,7 +3642,6 @@ private:
3503
3642
  kWritableAlias=0
3504
3643
  };
3505
3644
 
3506
- friend class StringThreadTest;
3507
3645
  friend class UnicodeStringAppendable;
3508
3646
 
3509
3647
  union StackBufferOrFields; // forward declaration necessary before friend declaration
@@ -3544,9 +3682,10 @@ private:
3544
3682
  * (Padding at the end of fFields is ok:
3545
3683
  * As long as it is no larger than fStackFields, it is not wasted space.)
3546
3684
  *
3547
- * For some of the history of the UnicodeString class fields layout,
3548
- * see ICU ticket #11336 "UnicodeString: recombine stack buffer arrays"
3549
- * and ticket #8322 "why is sizeof(UnicodeString)==48?".
3685
+ * For some of the history of the UnicodeString class fields layout, see
3686
+ * - ICU ticket #11551 "longer UnicodeString contents in stack buffer"
3687
+ * - ICU ticket #11336 "UnicodeString: recombine stack buffer arrays"
3688
+ * - ICU ticket #8322 "why is sizeof(UnicodeString)==48?"
3550
3689
  */
3551
3690
  // (implicit) *vtable;
3552
3691
  union StackBufferOrFields {
@@ -3558,9 +3697,11 @@ private:
3558
3697
  } fStackFields;
3559
3698
  struct {
3560
3699
  int16_t fLengthAndFlags; // bit fields: see constants above
3561
- UChar *fArray; // the Unicode data
3562
- int32_t fCapacity; // capacity of fArray (in UChars)
3563
3700
  int32_t fLength; // number of characters in fArray if >127; else undefined
3701
+ int32_t fCapacity; // capacity of fArray (in UChars)
3702
+ // array pointer last to minimize padding for machines with P128 data model
3703
+ // or pointer sizes that are not a power of 2
3704
+ UChar *fArray; // the Unicode data
3564
3705
  } fFields;
3565
3706
  } fUnion;
3566
3707
  };
@@ -4385,30 +4526,30 @@ inline UnicodeString&
4385
4526
  UnicodeString::append(const UnicodeString& srcText,
4386
4527
  int32_t srcStart,
4387
4528
  int32_t srcLength)
4388
- { return doReplace(length(), 0, srcText, srcStart, srcLength); }
4529
+ { return doAppend(srcText, srcStart, srcLength); }
4389
4530
 
4390
4531
  inline UnicodeString&
4391
4532
  UnicodeString::append(const UnicodeString& srcText)
4392
- { return doReplace(length(), 0, srcText, 0, srcText.length()); }
4533
+ { return doAppend(srcText, 0, srcText.length()); }
4393
4534
 
4394
4535
  inline UnicodeString&
4395
4536
  UnicodeString::append(const UChar *srcChars,
4396
4537
  int32_t srcStart,
4397
4538
  int32_t srcLength)
4398
- { return doReplace(length(), 0, srcChars, srcStart, srcLength); }
4539
+ { return doAppend(srcChars, srcStart, srcLength); }
4399
4540
 
4400
4541
  inline UnicodeString&
4401
4542
  UnicodeString::append(const UChar *srcChars,
4402
4543
  int32_t srcLength)
4403
- { return doReplace(length(), 0, srcChars, 0, srcLength); }
4544
+ { return doAppend(srcChars, 0, srcLength); }
4404
4545
 
4405
4546
  inline UnicodeString&
4406
4547
  UnicodeString::append(UChar srcChar)
4407
- { return doReplace(length(), 0, &srcChar, 0, 1); }
4548
+ { return doAppend(&srcChar, 0, 1); }
4408
4549
 
4409
4550
  inline UnicodeString&
4410
4551
  UnicodeString::operator+= (UChar ch)
4411
- { return doReplace(length(), 0, &ch, 0, 1); }
4552
+ { return doAppend(&ch, 0, 1); }
4412
4553
 
4413
4554
  inline UnicodeString&
4414
4555
  UnicodeString::operator+= (UChar32 ch) {
@@ -4417,7 +4558,7 @@ UnicodeString::operator+= (UChar32 ch) {
4417
4558
 
4418
4559
  inline UnicodeString&
4419
4560
  UnicodeString::operator+= (const UnicodeString& srcText)
4420
- { return doReplace(length(), 0, srcText, 0, srcText.length()); }
4561
+ { return doAppend(srcText, 0, srcText.length()); }
4421
4562
 
4422
4563
  inline UnicodeString&
4423
4564
  UnicodeString::insert(int32_t start,