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) 1997-2015, International Business Machines
3
+ * Copyright (C) 1997-2016, International Business Machines
4
4
  * Corporation and others. All Rights Reserved.
5
5
  ********************************************************************************
6
6
  *
@@ -14,10 +14,10 @@
14
14
  * Changed to match C++ conventions
15
15
  ********************************************************************************
16
16
  */
17
-
17
+
18
18
  #ifndef DTFMTSYM_H
19
19
  #define DTFMTSYM_H
20
-
20
+
21
21
  #include "unicode/utypes.h"
22
22
 
23
23
  #if !UCONFIG_NO_FORMATTING
@@ -29,7 +29,7 @@
29
29
  #include "unicode/ures.h"
30
30
 
31
31
  /**
32
- * \file
32
+ * \file
33
33
  * \brief C++ API: Symbols for formatting dates.
34
34
  */
35
35
 
@@ -115,7 +115,7 @@ public:
115
115
  * data for the default locale, it will return a last-resort object
116
116
  * based on hard-coded strings.
117
117
  *
118
- * @param type Type of calendar (as returned by Calendar::getType).
118
+ * @param type Type of calendar (as returned by Calendar::getType).
119
119
  * Will be used to access the correct set of strings.
120
120
  * (NULL or empty string defaults to "gregorian".)
121
121
  * @param status Status code. Failure
@@ -130,7 +130,7 @@ public:
130
130
  * resources for the given locale, in the default calendar (Gregorian).
131
131
  *
132
132
  * @param locale Locale to load format data from.
133
- * @param type Type of calendar (as returned by Calendar::getType).
133
+ * @param type Type of calendar (as returned by Calendar::getType).
134
134
  * Will be used to access the correct set of strings.
135
135
  * (NULL or empty string defaults to "gregorian".)
136
136
  * @param status Status code. Failure
@@ -421,26 +421,23 @@ public:
421
421
  * @internal
422
422
  */
423
423
  static const UChar ALTERNATE_TIME_SEPARATOR = 0x002e; // '.'
424
- #endif /* U_HIDE_INTERNAL_API */
425
424
 
426
- #ifndef U_HIDE_DRAFT_API
427
425
  /**
428
426
  * Gets the time separator string. For example: ":".
429
427
  * @param result Output param which will receive the time separator string.
430
428
  * @return A reference to 'result'.
431
- * @draft ICU 55
429
+ * @internal
432
430
  */
433
431
  UnicodeString& getTimeSeparatorString(UnicodeString& result) const;
434
432
 
435
433
  /**
436
434
  * Sets the time separator string. For example: ":".
437
435
  * @param newTimeSeparator the new time separator string.
438
- * @draft ICU 55
436
+ * @internal
439
437
  */
440
438
  void setTimeSeparatorString(const UnicodeString& newTimeSeparator);
441
- #endif /* U_HIDE_DRAFT_API */
439
+ #endif /* U_HIDE_INTERNAL_API */
442
440
 
443
- #ifndef U_HIDE_DRAFT_API
444
441
  /**
445
442
  * Gets cyclic year name strings if the calendar has them, by width and context.
446
443
  * For example: "jia-zi", "yi-chou", etc.
@@ -449,7 +446,7 @@ public:
449
446
  * @param width The requested name width: WIDE, ABBREVIATED, NARROW.
450
447
  * @return The year name strings (DateFormatSymbols retains ownership),
451
448
  * or null if they are not available for this calendar.
452
- * @draft ICU 54
449
+ * @stable ICU 54
453
450
  */
454
451
  const UnicodeString* getYearNames(int32_t& count,
455
452
  DtContextType context, DtWidthType width) const;
@@ -461,7 +458,7 @@ public:
461
458
  * @param count The length of the array.
462
459
  * @param context The usage context: FORMAT, STANDALONE (currently only FORMAT is supported).
463
460
  * @param width The name width: WIDE, ABBREVIATED, NARROW (currently only ABBREVIATED is supported).
464
- * @draft ICU 54
461
+ * @stable ICU 54
465
462
  */
466
463
  void setYearNames(const UnicodeString* yearNames, int32_t count,
467
464
  DtContextType context, DtWidthType width);
@@ -474,7 +471,7 @@ public:
474
471
  * @param width The requested name width: WIDE, ABBREVIATED, NARROW.
475
472
  * @return The zodiac name strings (DateFormatSymbols retains ownership),
476
473
  * or null if they are not available for this calendar.
477
- * @draft ICU 54
474
+ * @stable ICU 54
478
475
  */
479
476
  const UnicodeString* getZodiacNames(int32_t& count,
480
477
  DtContextType context, DtWidthType width) const;
@@ -486,13 +483,11 @@ public:
486
483
  * @param count The length of the array.
487
484
  * @param context The usage context: FORMAT, STANDALONE (currently only FORMAT is supported).
488
485
  * @param width The name width: WIDE, ABBREVIATED, NARROW (currently only ABBREVIATED is supported).
489
- * @draft ICU 54
486
+ * @stable ICU 54
490
487
  */
491
488
  void setZodiacNames(const UnicodeString* zodiacNames, int32_t count,
492
489
  DtContextType context, DtWidthType width);
493
490
 
494
- #endif /* U_HIDE_DRAFT_API */
495
-
496
491
  #ifndef U_HIDE_INTERNAL_API
497
492
  /**
498
493
  * Somewhat temporary constants for leap month pattern types, adequate for supporting
@@ -855,6 +850,42 @@ private:
855
850
  */
856
851
  UBool fCapitalization[kCapContextUsageTypeCount][2];
857
852
 
853
+ /**
854
+ * Abbreviated (== short) day period strings.
855
+ */
856
+ UnicodeString *fAbbreviatedDayPeriods;
857
+ int32_t fAbbreviatedDayPeriodsCount;
858
+
859
+ /**
860
+ * Wide day period strings.
861
+ */
862
+ UnicodeString *fWideDayPeriods;
863
+ int32_t fWideDayPeriodsCount;
864
+
865
+ /**
866
+ * Narrow day period strings.
867
+ */
868
+ UnicodeString *fNarrowDayPeriods;
869
+ int32_t fNarrowDayPeriodsCount;
870
+
871
+ /**
872
+ * Stand-alone abbreviated (== short) day period strings.
873
+ */
874
+ UnicodeString *fStandaloneAbbreviatedDayPeriods;
875
+ int32_t fStandaloneAbbreviatedDayPeriodsCount;
876
+
877
+ /**
878
+ * Stand-alone wide day period strings.
879
+ */
880
+ UnicodeString *fStandaloneWideDayPeriods;
881
+ int32_t fStandaloneWideDayPeriodsCount;
882
+
883
+ /**
884
+ * Stand-alone narrow day period strings.
885
+ */
886
+ UnicodeString *fStandaloneNarrowDayPeriods;
887
+ int32_t fStandaloneNarrowDayPeriodsCount;
888
+
858
889
  private:
859
890
  /** valid/actual locale information
860
891
  * these are always ICU locales, so the length should not be a problem
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (C) 2008-2013, International Business Machines Corporation and
2
+ * Copyright (C) 2008-2016, International Business Machines Corporation and
3
3
  * others. All Rights Reserved.
4
4
  *******************************************************************************
5
5
  *
@@ -93,9 +93,11 @@ U_NAMESPACE_BEGIN
93
93
  *
94
94
  * <P>
95
95
  * The calendar fields we support for interval formatting are:
96
- * year, month, date, day-of-week, am-pm, hour, hour-of-day, and minute.
96
+ * year, month, date, day-of-week, am-pm, hour, hour-of-day, minute, and second
97
+ * (though we do not currently have specific intervalFormat date for skeletons
98
+ * with seconds).
97
99
  * Those calendar fields can be defined in the following order:
98
- * year > month > date > hour (in day) > minute
100
+ * year > month > date > hour (in day) > minute > second
99
101
  *
100
102
  * The largest different calendar fields between 2 calendars is the
101
103
  * first different calendar field in above order.
@@ -387,6 +389,9 @@ public:
387
389
  * Result is appended to existing contents.
388
390
  * @param fieldPosition On input: an alignment field, if desired.
389
391
  * On output: the offsets of the alignment field.
392
+ * There may be multiple instances of a given field type
393
+ * in an interval format; in this case the fieldPosition
394
+ * offsets refer to the first instance.
390
395
  * @param status Output param filled with success/failure status.
391
396
  * @return Reference to 'appendTo' parameter.
392
397
  * @stable ICU 4.0
@@ -406,6 +411,9 @@ public:
406
411
  * Result is appended to existing contents.
407
412
  * @param fieldPosition On input: an alignment field, if desired.
408
413
  * On output: the offsets of the alignment field.
414
+ * There may be multiple instances of a given field type
415
+ * in an interval format; in this case the fieldPosition
416
+ * offsets refer to the first instance.
409
417
  * @param status Output param filled with success/failure status.
410
418
  * @return Reference to 'appendTo' parameter.
411
419
  * @stable ICU 4.0
@@ -430,6 +438,9 @@ public:
430
438
  * Result is appended to existing contents.
431
439
  * @param fieldPosition On input: an alignment field, if desired.
432
440
  * On output: the offsets of the alignment field.
441
+ * There may be multiple instances of a given field type
442
+ * in an interval format; in this case the fieldPosition
443
+ * offsets refer to the first instance.
433
444
  * @param status Output param filled with success/failure status.
434
445
  * Caller needs to make sure it is SUCCESS
435
446
  * at the function entrance
@@ -493,7 +504,13 @@ public:
493
504
 
494
505
 
495
506
  /**
496
- * Gets the date formatter
507
+ * Gets the date formatter. The DateIntervalFormat instance continues to own
508
+ * the returned DateFormatter object, and will use and possibly modify it
509
+ * during format operations. In a multi-threaded environment, the returned
510
+ * DateFormat can only be used if it is certain that no other threads are
511
+ * concurrently using this DateIntervalFormatter, even for nominally const
512
+ * functions.
513
+ *
497
514
  * @return the date formatter associated with this date interval formatter.
498
515
  * @stable ICU 4.0
499
516
  */
@@ -598,7 +615,7 @@ private:
598
615
 
599
616
  /**
600
617
  * default constructor
601
- * @internal ICU 4.0
618
+ * @internal (private)
602
619
  */
603
620
  DateIntervalFormat();
604
621
 
@@ -642,27 +659,30 @@ private:
642
659
  UErrorCode& status);
643
660
 
644
661
  /**
645
- * Create a simple date/time formatter from skeleton, given locale,
646
- * and date time pattern generator.
647
- *
648
- * @param skeleton the skeleton on which date format based.
649
- * @param locale the given locale.
650
- * @param dtpng the date time pattern generator.
651
- * @param status Output param to be set to success/failure code.
652
- * If it is failure, the returned date formatter will
653
- * be NULL.
654
- * @return a simple date formatter which the caller owns.
662
+ * Below are for generating interval patterns local to the formatter
655
663
  */
656
- static SimpleDateFormat* U_EXPORT2 createSDFPatternInstance(
657
- const UnicodeString& skeleton,
658
- const Locale& locale,
659
- DateTimePatternGenerator* dtpng,
660
- UErrorCode& status);
661
-
662
664
 
663
665
  /**
664
- * Below are for generating interval patterns local to the formatter
666
+ * Provide an updated FieldPosition posResult based on two formats,
667
+ * the FieldPosition values for each of them, and the pattern used
668
+ * to combine them. The idea is for posResult to indicate the first
669
+ * instance (if any) of the specified field in the combined result,
670
+ * with correct offsets.
671
+ *
672
+ * @param combiningPattern Pattern used to combine pat0 and pat1
673
+ * @param pat0 Formatted date/time value to replace {0}
674
+ * @param pos0 FieldPosition within pat0
675
+ * @param pat1 Formatted date/time value to replace {1}
676
+ * @param pos1 FieldPosition within pat1
677
+ * @param posResult FieldPosition to be set to the correct
678
+ * position of the first field instance when
679
+ * pat0 and pat1 are combined using combiningPattern
665
680
  */
681
+ static void
682
+ adjustPosition(UnicodeString& combiningPattern, // has {0} and {1} in it
683
+ UnicodeString& pat0, FieldPosition& pos0, // pattern and pos corresponding to {0}
684
+ UnicodeString& pat1, FieldPosition& pos1, // pattern and pos corresponding to {1}
685
+ FieldPosition& posResult);
666
686
 
667
687
 
668
688
  /**
@@ -671,19 +691,25 @@ private:
671
691
  * The full pattern used in this fall-back format is the
672
692
  * full pattern of the date formatter.
673
693
  *
694
+ * gFormatterMutex must already be locked when calling this function.
695
+ *
674
696
  * @param fromCalendar calendar set to the from date in date interval
675
697
  * to be formatted into date interval string
676
698
  * @param toCalendar calendar set to the to date in date interval
677
699
  * to be formatted into date interval string
700
+ * @param fromToOnSameDay TRUE iff from and to dates are on the same day
701
+ * (any difference is in ampm/hours or below)
678
702
  * @param appendTo Output parameter to receive result.
679
703
  * Result is appended to existing contents.
680
704
  * @param pos On input: an alignment field, if desired.
681
705
  * On output: the offsets of the alignment field.
682
706
  * @param status output param set to success/failure code on exit
683
707
  * @return Reference to 'appendTo' parameter.
708
+ * @internal (private)
684
709
  */
685
710
  UnicodeString& fallbackFormat(Calendar& fromCalendar,
686
711
  Calendar& toCalendar,
712
+ UBool fromToOnSameDay,
687
713
  UnicodeString& appendTo,
688
714
  FieldPosition& pos,
689
715
  UErrorCode& status) const;
@@ -874,13 +900,11 @@ private:
874
900
  * both time and date. Present the date followed by
875
901
  * the range expression for the time.
876
902
  * @param format date and time format
877
- * @param formatLen format string length
878
903
  * @param datePattern date pattern
879
904
  * @param field time calendar field: AM_PM, HOUR, MINUTE
880
905
  * @param status output param set to success/failure code on exit
881
906
  */
882
- void concatSingleDate2TimeInterval(const UChar* format,
883
- int32_t formatLen,
907
+ void concatSingleDate2TimeInterval(UnicodeString& format,
884
908
  const UnicodeString& datePattern,
885
909
  UCalendarDateFields field,
886
910
  UErrorCode& status);
@@ -937,6 +961,37 @@ private:
937
961
  const UnicodeString* secondPart,
938
962
  UBool laterDateFirst);
939
963
 
964
+ /**
965
+ * Format 2 Calendars to produce a string.
966
+ * Implementation of the similar public format function.
967
+ * Must be called with gFormatterMutex already locked.
968
+ *
969
+ * Note: "fromCalendar" and "toCalendar" are not const,
970
+ * since calendar is not const in SimpleDateFormat::format(Calendar&),
971
+ *
972
+ * @param fromCalendar calendar set to the from date in date interval
973
+ * to be formatted into date interval string
974
+ * @param toCalendar calendar set to the to date in date interval
975
+ * to be formatted into date interval string
976
+ * @param appendTo Output parameter to receive result.
977
+ * Result is appended to existing contents.
978
+ * @param fieldPosition On input: an alignment field, if desired.
979
+ * On output: the offsets of the alignment field.
980
+ * There may be multiple instances of a given field type
981
+ * in an interval format; in this case the fieldPosition
982
+ * offsets refer to the first instance.
983
+ * @param status Output param filled with success/failure status.
984
+ * Caller needs to make sure it is SUCCESS
985
+ * at the function entrance
986
+ * @return Reference to 'appendTo' parameter.
987
+ * @internal (private)
988
+ */
989
+ UnicodeString& formatImpl(Calendar& fromCalendar,
990
+ Calendar& toCalendar,
991
+ UnicodeString& appendTo,
992
+ FieldPosition& fieldPosition,
993
+ UErrorCode& status) const ;
994
+
940
995
 
941
996
  // from calendar field to pattern letter
942
997
  static const UChar fgCalendarFieldToPatternLetter[];
@@ -960,16 +1015,20 @@ private:
960
1015
  Calendar* fFromCalendar;
961
1016
  Calendar* fToCalendar;
962
1017
 
963
- /**
964
- * Date time pattern generator
965
- */
966
- DateTimePatternGenerator* fDtpng;
1018
+ Locale fLocale;
967
1019
 
968
1020
  /**
969
- * Following are interval information relavent (locale) to this formatter.
1021
+ * Following are interval information relevant (locale) to this formatter.
970
1022
  */
971
1023
  UnicodeString fSkeleton;
972
1024
  PatternInfo fIntervalPatterns[DateIntervalInfo::kIPI_MAX_INDEX];
1025
+
1026
+ /**
1027
+ * Patterns for fallback formatting.
1028
+ */
1029
+ UnicodeString* fDatePattern;
1030
+ UnicodeString* fTimePattern;
1031
+ UnicodeString* fDateTimeFormat;
973
1032
  };
974
1033
 
975
1034
  inline UBool
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *******************************************************************************
3
- * Copyright (C) 2008-2014, International Business Machines Corporation and
3
+ * Copyright (C) 2008-2016, International Business Machines Corporation and
4
4
  * others. All Rights Reserved.
5
5
  *******************************************************************************
6
6
  *
@@ -49,22 +49,22 @@ U_NAMESPACE_BEGIN
49
49
  * to (date_interval_pattern).
50
50
  *
51
51
  * <P>
52
- * A skeleton
52
+ * A skeleton
53
53
  * <ol>
54
54
  * <li>
55
- * only keeps the field pattern letter and ignores all other parts
55
+ * only keeps the field pattern letter and ignores all other parts
56
56
  * in a pattern, such as space, punctuations, and string literals.
57
57
  * <li>
58
- * hides the order of fields.
58
+ * hides the order of fields.
59
59
  * <li>
60
60
  * might hide a field's pattern letter length.
61
61
  *
62
- * For those non-digit calendar fields, the pattern letter length is
63
- * important, such as MMM, MMMM, and MMMMM; EEE and EEEE,
62
+ * For those non-digit calendar fields, the pattern letter length is
63
+ * important, such as MMM, MMMM, and MMMMM; EEE and EEEE,
64
64
  * and the field's pattern letter length is honored.
65
- *
66
- * For the digit calendar fields, such as M or MM, d or dd, yy or yyyy,
67
- * the field pattern length is ignored and the best match, which is defined
65
+ *
66
+ * For the digit calendar fields, such as M or MM, d or dd, yy or yyyy,
67
+ * the field pattern length is ignored and the best match, which is defined
68
68
  * in date time patterns, will be returned without honor the field pattern
69
69
  * letter length in skeleton.
70
70
  * </ol>
@@ -73,21 +73,21 @@ U_NAMESPACE_BEGIN
73
73
  * The calendar fields we support for interval formatting are:
74
74
  * year, month, date, day-of-week, am-pm, hour, hour-of-day, and minute.
75
75
  * Those calendar fields can be defined in the following order:
76
- * year > month > date > am-pm > hour > minute
77
- *
76
+ * year > month > date > am-pm > hour > minute
77
+ *
78
78
  * The largest different calendar fields between 2 calendars is the
79
79
  * first different calendar field in above order.
80
80
  *
81
- * For example: the largest different calendar fields between &quot;Jan 10, 2007&quot;
81
+ * For example: the largest different calendar fields between &quot;Jan 10, 2007&quot;
82
82
  * and &quot;Feb 20, 2008&quot; is year.
83
- *
83
+ *
84
84
  * <P>
85
85
  * There is a set of pre-defined static skeleton strings.
86
86
  * There are pre-defined interval patterns for those pre-defined skeletons
87
87
  * in locales' resource files.
88
88
  * For example, for a skeleton UDAT_YEAR_ABBR_MONTH_DAY, which is &quot;yMMMd&quot;,
89
- * in en_US, if the largest different calendar field between date1 and date2
90
- * is &quot;year&quot;, the date interval pattern is &quot;MMM d, yyyy - MMM d, yyyy&quot;,
89
+ * in en_US, if the largest different calendar field between date1 and date2
90
+ * is &quot;year&quot;, the date interval pattern is &quot;MMM d, yyyy - MMM d, yyyy&quot;,
91
91
  * such as &quot;Jan 10, 2007 - Jan 10, 2008&quot;.
92
92
  * If the largest different calendar field between date1 and date2 is &quot;month&quot;,
93
93
  * the date interval pattern is &quot;MMM d - MMM d, yyyy&quot;,
@@ -95,7 +95,7 @@ U_NAMESPACE_BEGIN
95
95
  * If the largest different calendar field between date1 and date2 is &quot;day&quot;,
96
96
  * the date interval pattern is &quot;MMM d-d, yyyy&quot;, such as &quot;Jan 10-20, 2007&quot;.
97
97
  *
98
- * For date skeleton, the interval patterns when year, or month, or date is
98
+ * For date skeleton, the interval patterns when year, or month, or date is
99
99
  * different are defined in resource files.
100
100
  * For time skeleton, the interval patterns when am/pm, or hour, or minute is
101
101
  * different are defined in resource files.
@@ -108,43 +108,43 @@ U_NAMESPACE_BEGIN
108
108
  * We use fallback format for the default order for the locale.
109
109
  * For example, if the fallback format is &quot;{0} - {1}&quot;, it means
110
110
  * the first date in the interval pattern for this locale is earlier date.
111
- * If the fallback format is &quot;{1} - {0}&quot;, it means the first date is the
111
+ * If the fallback format is &quot;{1} - {0}&quot;, it means the first date is the
112
112
  * later date.
113
113
  * For a particular interval pattern, the default order can be overriden
114
114
  * by prefixing &quot;latestFirst:&quot; or &quot;earliestFirst:&quot; to the interval pattern.
115
115
  * For example, if the fallback format is &quot;{0}-{1}&quot;,
116
- * but for skeleton &quot;yMMMd&quot;, the interval pattern when day is different is
116
+ * but for skeleton &quot;yMMMd&quot;, the interval pattern when day is different is
117
117
  * &quot;latestFirst:d-d MMM yy&quot;, it means by default, the first date in interval
118
118
  * pattern is the earlier date. But for skeleton &quot;yMMMd&quot;, when day is different,
119
119
  * the first date in &quot;d-d MMM yy&quot; is the later date.
120
- *
120
+ *
121
121
  * <P>
122
- * The recommended way to create a DateIntervalFormat object is to pass in
123
- * the locale.
124
- * By using a Locale parameter, the DateIntervalFormat object is
125
- * initialized with the pre-defined interval patterns for a given or
122
+ * The recommended way to create a DateIntervalFormat object is to pass in
123
+ * the locale.
124
+ * By using a Locale parameter, the DateIntervalFormat object is
125
+ * initialized with the pre-defined interval patterns for a given or
126
126
  * default locale.
127
127
  * <P>
128
- * Users can also create DateIntervalFormat object
128
+ * Users can also create DateIntervalFormat object
129
129
  * by supplying their own interval patterns.
130
130
  * It provides flexibility for power users.
131
131
  *
132
132
  * <P>
133
133
  * After a DateIntervalInfo object is created, clients may modify
134
134
  * the interval patterns using setIntervalPattern function as so desired.
135
- * Currently, users can only set interval patterns when the following
136
- * calendar fields are different: ERA, YEAR, MONTH, DATE, DAY_OF_MONTH,
135
+ * Currently, users can only set interval patterns when the following
136
+ * calendar fields are different: ERA, YEAR, MONTH, DATE, DAY_OF_MONTH,
137
137
  * DAY_OF_WEEK, AM_PM, HOUR, HOUR_OF_DAY, and MINUTE.
138
138
  * Interval patterns when other calendar fields are different is not supported.
139
139
  * <P>
140
- * DateIntervalInfo objects are cloneable.
141
- * When clients obtain a DateIntervalInfo object,
140
+ * DateIntervalInfo objects are cloneable.
141
+ * When clients obtain a DateIntervalInfo object,
142
142
  * they can feel free to modify it as necessary.
143
143
  * <P>
144
- * DateIntervalInfo are not expected to be subclassed.
145
- * Data for a calendar is loaded out of resource bundles.
144
+ * DateIntervalInfo are not expected to be subclassed.
145
+ * Data for a calendar is loaded out of resource bundles.
146
146
  * Through ICU 4.4, date interval patterns are only supported in the Gregorian
147
- * calendar; non-Gregorian calendars are supported from ICU 4.4.1.
147
+ * calendar; non-Gregorian calendars are supported from ICU 4.4.1.
148
148
  * @stable ICU 4.0
149
149
  **/
150
150
 
@@ -156,8 +156,8 @@ public:
156
156
  * It does not initialize any interval patterns except
157
157
  * that it initialize default fall-back pattern as "{0} - {1}",
158
158
  * which can be reset by setFallbackIntervalPattern().
159
- * It should be followed by setFallbackIntervalPattern() and
160
- * setIntervalPattern(),
159
+ * It should be followed by setFallbackIntervalPattern() and
160
+ * setIntervalPattern(),
161
161
  * and is recommended to be used only for power users who
162
162
  * wants to create their own interval patterns and use them to create
163
163
  * date interval formatter.
@@ -168,7 +168,7 @@ public:
168
168
  #endif /* U_HIDE_INTERNAL_API */
169
169
 
170
170
 
171
- /**
171
+ /**
172
172
  * Construct DateIntervalInfo for the given locale,
173
173
  * @param locale the interval patterns are loaded from the appropriate calendar
174
174
  * data (specified calendar or default calendar) in this locale.
@@ -226,7 +226,7 @@ public:
226
226
 
227
227
 
228
228
 
229
- /**
229
+ /**
230
230
  * Provides a way for client to build interval patterns.
231
231
  * User could construct DateIntervalInfo by providing a list of skeletons
232
232
  * and their patterns.
@@ -236,53 +236,53 @@ public:
236
236
  * UErrorCode status = U_ZERO_ERROR;
237
237
  * DateIntervalInfo dIntervalInfo = new DateIntervalInfo();
238
238
  * dIntervalInfo->setFallbackIntervalPattern("{0} ~ {1}");
239
- * dIntervalInfo->setIntervalPattern("yMd", UCAL_YEAR, "'from' yyyy-M-d 'to' yyyy-M-d", status);
239
+ * dIntervalInfo->setIntervalPattern("yMd", UCAL_YEAR, "'from' yyyy-M-d 'to' yyyy-M-d", status);
240
240
  * dIntervalInfo->setIntervalPattern("yMMMd", UCAL_MONTH, "'from' yyyy MMM d 'to' MMM d", status);
241
241
  * dIntervalInfo->setIntervalPattern("yMMMd", UCAL_DAY, "yyyy MMM d-d", status, status);
242
242
  * </pre>
243
243
  *
244
- * Restriction:
245
- * Currently, users can only set interval patterns when the following
246
- * calendar fields are different: ERA, YEAR, MONTH, DATE, DAY_OF_MONTH,
244
+ * Restriction:
245
+ * Currently, users can only set interval patterns when the following
246
+ * calendar fields are different: ERA, YEAR, MONTH, DATE, DAY_OF_MONTH,
247
247
  * DAY_OF_WEEK, AM_PM, HOUR, HOUR_OF_DAY, and MINUTE.
248
- * Interval patterns when other calendar fields are different are
248
+ * Interval patterns when other calendar fields are different are
249
249
  * not supported.
250
250
  *
251
251
  * @param skeleton the skeleton on which interval pattern based
252
252
  * @param lrgDiffCalUnit the largest different calendar unit.
253
253
  * @param intervalPattern the interval pattern on the largest different
254
254
  * calendar unit.
255
- * For example, if lrgDiffCalUnit is
255
+ * For example, if lrgDiffCalUnit is
256
256
  * "year", the interval pattern for en_US when year
257
257
  * is different could be "'from' yyyy 'to' yyyy".
258
258
  * @param status output param set to success/failure code on exit
259
259
  * @stable ICU 4.0
260
260
  */
261
- void setIntervalPattern(const UnicodeString& skeleton,
262
- UCalendarDateFields lrgDiffCalUnit,
261
+ void setIntervalPattern(const UnicodeString& skeleton,
262
+ UCalendarDateFields lrgDiffCalUnit,
263
263
  const UnicodeString& intervalPattern,
264
264
  UErrorCode& status);
265
265
 
266
266
  /**
267
- * Get the interval pattern given skeleton and
267
+ * Get the interval pattern given skeleton and
268
268
  * the largest different calendar field.
269
269
  * @param skeleton the skeleton
270
270
  * @param field the largest different calendar field
271
271
  * @param result output param to receive the pattern
272
272
  * @param status output param set to success/failure code on exit
273
273
  * @return a reference to 'result'
274
- * @stable ICU 4.0
274
+ * @stable ICU 4.0
275
275
  */
276
276
  UnicodeString& getIntervalPattern(const UnicodeString& skeleton,
277
277
  UCalendarDateFields field,
278
278
  UnicodeString& result,
279
- UErrorCode& status) const;
279
+ UErrorCode& status) const;
280
280
 
281
281
  /**
282
282
  * Get the fallback interval pattern.
283
283
  * @param result output param to receive the pattern
284
284
  * @return a reference to 'result'
285
- * @stable ICU 4.0
285
+ * @stable ICU 4.0
286
286
  */
287
287
  UnicodeString& getFallbackIntervalPattern(UnicodeString& result) const;
288
288
 
@@ -298,7 +298,7 @@ public:
298
298
  *
299
299
  * @param fallbackPattern fall-back interval pattern.
300
300
  * @param status output param set to success/failure code on exit
301
- * @stable ICU 4.0
301
+ * @stable ICU 4.0
302
302
  */
303
303
  void setFallbackIntervalPattern(const UnicodeString& fallbackPattern,
304
304
  UErrorCode& status);
@@ -308,7 +308,7 @@ public:
308
308
  or not.
309
309
  * return default date ordering in interval pattern. TRUE if the first date
310
310
  * in pattern is later date, FALSE otherwise.
311
- * @stable ICU 4.0
311
+ * @stable ICU 4.0
312
312
  */
313
313
  UBool getDefaultOrder() const;
314
314
 
@@ -339,6 +339,8 @@ private:
339
339
  */
340
340
  friend class DateIntervalFormat;
341
341
 
342
+ friend struct DateIntervalSink;
343
+
342
344
  /**
343
345
  * Following is for saving the interval patterns.
344
346
  * We only support interval patterns on
@@ -353,13 +355,14 @@ private:
353
355
  kIPI_AM_PM,
354
356
  kIPI_HOUR,
355
357
  kIPI_MINUTE,
358
+ kIPI_SECOND,
356
359
  kIPI_MAX_INDEX
357
360
  };
358
361
  public:
359
362
  #ifndef U_HIDE_INTERNAL_API
360
363
  /**
361
364
  * Max index for stored interval patterns
362
- * @internal ICU 4.4
365
+ * @internal ICU 4.4
363
366
  */
364
367
  enum {
365
368
  kMaxIntervalPatternIndex = kIPI_MAX_INDEX
@@ -368,7 +371,7 @@ public:
368
371
  private:
369
372
 
370
373
 
371
- /**
374
+ /**
372
375
  * Initialize the DateIntervalInfo from locale
373
376
  * @param locale the given locale.
374
377
  * @param status output param set to success/failure code on exit
@@ -389,10 +392,10 @@ private:
389
392
  void setIntervalPatternInternally(const UnicodeString& skeleton,
390
393
  UCalendarDateFields lrgDiffCalUnit,
391
394
  const UnicodeString& intervalPattern,
392
- UErrorCode& status);
395
+ UErrorCode& status);
393
396
 
394
397
 
395
- /**given an input skeleton, get the best match skeleton
398
+ /**given an input skeleton, get the best match skeleton
396
399
  * which has pre-defined interval pattern in resource file.
397
400
  * Also return the difference between the input skeleton
398
401
  * and the best match skeleton.
@@ -403,7 +406,7 @@ private:
403
406
  * @param bestMatchDistanceInfo the difference between input skeleton
404
407
  * and best match skeleton.
405
408
  * 0, if there is exact match for input skeleton
406
- * 1, if there is only field width difference between
409
+ * 1, if there is only field width difference between
407
410
  * the best match and the input skeleton
408
411
  * 2, the only field difference is 'v' and 'z'
409
412
  * -1, if there is calendar field difference between
@@ -421,7 +424,7 @@ private:
421
424
  * @param skeleton skeleton to be parsed
422
425
  * @param skeletonFieldWidth parsed skeleton field width
423
426
  */
424
- static void U_EXPORT2 parseSkeleton(const UnicodeString& skeleton,
427
+ static void U_EXPORT2 parseSkeleton(const UnicodeString& skeleton,
425
428
  int32_t* skeletonFieldWidth);
426
429
 
427
430
 
@@ -441,12 +444,12 @@ private:
441
444
  char patternLetter);
442
445
 
443
446
 
444
- /**
445
- * Convert calendar field to the interval pattern index in
447
+ /**
448
+ * Convert calendar field to the interval pattern index in
446
449
  * hash table.
447
450
  *
448
- * Since we only support the following calendar fields:
449
- * ERA, YEAR, MONTH, DATE, DAY_OF_MONTH, DAY_OF_WEEK,
451
+ * Since we only support the following calendar fields:
452
+ * ERA, YEAR, MONTH, DATE, DAY_OF_MONTH, DAY_OF_WEEK,
450
453
  * AM_PM, HOUR, HOUR_OF_DAY, and MINUTE,
451
454
  * We reserve only 4 interval patterns for a skeleton.
452
455
  *
@@ -488,7 +491,7 @@ private:
488
491
 
489
492
 
490
493
  // data members
491
- // fallback interval pattern
494
+ // fallback interval pattern
492
495
  UnicodeString fFallbackIntervalPattern;
493
496
  // default order
494
497
  UBool fFirstDateInPtnIsLaterDate;