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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +6 -6
  3. data/ext/pango/extconf.rb +1 -0
  4. data/lib/2.2/pango.so +0 -0
  5. data/lib/2.3/pango.so +0 -0
  6. data/lib/pango.rb +2 -10
  7. data/vendor/local/bin/derb.exe +0 -0
  8. data/vendor/local/bin/genbrk.exe +0 -0
  9. data/vendor/local/bin/genccode.exe +0 -0
  10. data/vendor/local/bin/gencfu.exe +0 -0
  11. data/vendor/local/bin/gencmn.exe +0 -0
  12. data/vendor/local/bin/gencnval.exe +0 -0
  13. data/vendor/local/bin/gendict.exe +0 -0
  14. data/vendor/local/bin/gennorm2.exe +0 -0
  15. data/vendor/local/bin/genrb.exe +0 -0
  16. data/vendor/local/bin/gensprep.exe +0 -0
  17. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  18. data/vendor/local/bin/hb-shape.exe +0 -0
  19. data/vendor/local/bin/hb-view.exe +0 -0
  20. data/vendor/local/bin/icu-config +6 -7
  21. data/vendor/local/bin/icuinfo.exe +0 -0
  22. data/vendor/local/bin/icupkg.exe +0 -0
  23. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  24. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  25. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  26. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  27. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  28. data/vendor/local/bin/makeconv.exe +0 -0
  29. data/vendor/local/bin/pango-view.exe +0 -0
  30. data/vendor/local/bin/pkgdata.exe +0 -0
  31. data/vendor/local/bin/uconv.exe +0 -0
  32. data/vendor/local/include/harfbuzz/hb-blob.h +12 -12
  33. data/vendor/local/include/harfbuzz/hb-buffer.h +181 -78
  34. data/vendor/local/include/harfbuzz/hb-common.h +23 -17
  35. data/vendor/local/include/harfbuzz/hb-deprecated.h +10 -0
  36. data/vendor/local/include/harfbuzz/hb-face.h +17 -17
  37. data/vendor/local/include/harfbuzz/hb-font.h +180 -79
  38. data/vendor/local/include/harfbuzz/hb-ft.h +16 -9
  39. data/vendor/local/include/harfbuzz/hb-glib.h +4 -4
  40. data/vendor/local/include/harfbuzz/hb-icu.h +3 -3
  41. data/vendor/local/include/harfbuzz/hb-ot-font.h +1 -1
  42. data/vendor/local/include/harfbuzz/hb-ot-layout.h +28 -28
  43. data/vendor/local/include/harfbuzz/hb-ot-shape.h +2 -2
  44. data/vendor/local/include/harfbuzz/hb-ot-tag.h +4 -4
  45. data/vendor/local/include/harfbuzz/hb-set.h +29 -26
  46. data/vendor/local/include/harfbuzz/hb-shape-plan.h +9 -9
  47. data/vendor/local/include/harfbuzz/hb-shape.h +5 -5
  48. data/vendor/local/include/harfbuzz/hb-unicode.h +47 -31
  49. data/vendor/local/include/harfbuzz/hb-version.h +6 -6
  50. data/vendor/local/include/harfbuzz/hb.h +4 -0
  51. data/vendor/local/include/layout/LELanguages.h +2 -5
  52. data/vendor/local/include/layout/LEScripts.h +3 -62
  53. data/vendor/local/include/layout/LETableReference.h +15 -3
  54. data/vendor/local/include/pango-1.0/pango/pango-attributes.h +27 -1
  55. data/vendor/local/include/pango-1.0/pango/pango-engine.h +50 -31
  56. data/vendor/local/include/pango-1.0/pango/pango-features.h +3 -3
  57. data/vendor/local/include/pango-1.0/pango/pango-font.h +1 -0
  58. data/vendor/local/include/pango-1.0/pango/pango-glyph-item.h +2 -0
  59. data/vendor/local/include/pango-1.0/pango/pango-glyph.h +5 -0
  60. data/vendor/local/include/pango-1.0/pango/pango-item.h +4 -0
  61. data/vendor/local/include/pango-1.0/pango/pango-layout.h +3 -0
  62. data/vendor/local/include/pango-1.0/pango/pango-matrix.h +2 -0
  63. data/vendor/local/include/pango-1.0/pango/pango-modules.h +6 -0
  64. data/vendor/local/include/pango-1.0/pango/pango-ot.h +8 -5
  65. data/vendor/local/include/pango-1.0/pango/pango-renderer.h +9 -2
  66. data/vendor/local/include/pango-1.0/pango/pango-script.h +63 -1
  67. data/vendor/local/include/pango-1.0/pango/pango-utils.h +12 -0
  68. data/vendor/local/include/pango-1.0/pango/pangofc-font.h +7 -10
  69. data/vendor/local/include/pango-1.0/pango/pangofc-fontmap.h +25 -16
  70. data/vendor/local/include/unicode/brkiter.h +6 -3
  71. data/vendor/local/include/unicode/bytestriebuilder.h +3 -1
  72. data/vendor/local/include/unicode/coll.h +21 -18
  73. data/vendor/local/include/unicode/compactdecimalformat.h +87 -3
  74. data/vendor/local/include/unicode/currpinf.h +2 -1
  75. data/vendor/local/include/unicode/datefmt.h +19 -41
  76. data/vendor/local/include/unicode/dcfmtsym.h +28 -9
  77. data/vendor/local/include/unicode/decimfmt.h +126 -304
  78. data/vendor/local/include/unicode/dtfmtsym.h +50 -19
  79. data/vendor/local/include/unicode/dtitvfmt.h +89 -30
  80. data/vendor/local/include/unicode/dtitvinf.h +63 -60
  81. data/vendor/local/include/unicode/dtptngen.h +81 -30
  82. data/vendor/local/include/unicode/filteredbrk.h +14 -24
  83. data/vendor/local/include/unicode/icuplug.h +9 -2
  84. data/vendor/local/include/unicode/listformatter.h +2 -2
  85. data/vendor/local/include/unicode/localpointer.h +231 -13
  86. data/vendor/local/include/unicode/locdspnm.h +2 -2
  87. data/vendor/local/include/unicode/locid.h +1 -3
  88. data/vendor/local/include/unicode/measfmt.h +14 -14
  89. data/vendor/local/include/unicode/measunit.h +213 -225
  90. data/vendor/local/include/unicode/normlzr.h +55 -43
  91. data/vendor/local/include/unicode/numfmt.h +60 -67
  92. data/vendor/local/include/unicode/platform.h +96 -3
  93. data/vendor/local/include/unicode/plurrule.h +5 -0
  94. data/vendor/local/include/unicode/rbnf.h +43 -4
  95. data/vendor/local/include/unicode/regex.h +14 -4
  96. data/vendor/local/include/unicode/region.h +5 -11
  97. data/vendor/local/include/unicode/reldatefmt.h +53 -43
  98. data/vendor/local/include/unicode/scientificnumberformatter.h +9 -11
  99. data/vendor/local/include/unicode/simpleformatter.h +295 -0
  100. data/vendor/local/include/unicode/smpdtfmt.h +36 -22
  101. data/vendor/local/include/unicode/tblcoll.h +32 -31
  102. data/vendor/local/include/unicode/timezone.h +4 -6
  103. data/vendor/local/include/unicode/tmunit.h +13 -13
  104. data/vendor/local/include/unicode/tzfmt.h +3 -6
  105. data/vendor/local/include/unicode/tznames.h +2 -4
  106. data/vendor/local/include/unicode/ubrk.h +14 -2
  107. data/vendor/local/include/unicode/uchar.h +61 -8
  108. data/vendor/local/include/unicode/ucharstriebuilder.h +1 -1
  109. data/vendor/local/include/unicode/ucol.h +2 -0
  110. data/vendor/local/include/unicode/uconfig.h +11 -6
  111. data/vendor/local/include/unicode/ucurr.h +24 -32
  112. data/vendor/local/include/unicode/udat.h +103 -87
  113. data/vendor/local/include/unicode/udateintervalformat.h +4 -1
  114. data/vendor/local/include/unicode/udatpg.h +6 -4
  115. data/vendor/local/include/unicode/udisplaycontext.h +6 -12
  116. data/vendor/local/include/unicode/ufieldpositer.h +10 -12
  117. data/vendor/local/include/unicode/uldnames.h +2 -2
  118. data/vendor/local/include/unicode/ulistformatter.h +9 -11
  119. data/vendor/local/include/unicode/uloc.h +13 -16
  120. data/vendor/local/include/unicode/umachine.h +2 -2
  121. data/vendor/local/include/unicode/uniset.h +25 -3
  122. data/vendor/local/include/unicode/unistr.h +168 -27
  123. data/vendor/local/include/unicode/unorm.h +40 -133
  124. data/vendor/local/include/unicode/unorm2.h +97 -1
  125. data/vendor/local/include/unicode/unum.h +61 -24
  126. data/vendor/local/include/unicode/uregex.h +7 -9
  127. data/vendor/local/include/unicode/ureldatefmt.h +365 -0
  128. data/vendor/local/include/unicode/urename.h +12 -1
  129. data/vendor/local/include/unicode/ures.h +157 -142
  130. data/vendor/local/include/unicode/uscript.h +1 -1
  131. data/vendor/local/include/unicode/ustdio.h +3 -5
  132. data/vendor/local/include/unicode/utf8.h +2 -2
  133. data/vendor/local/include/unicode/utypes.h +4 -6
  134. data/vendor/local/include/unicode/uvernum.h +7 -7
  135. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  136. data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
  137. data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
  138. data/vendor/local/lib/icu/{55.1 → 57.1}/Makefile.inc +6 -6
  139. data/vendor/local/lib/icu/{55.1 → 57.1}/pkgdata.inc +1 -1
  140. data/vendor/local/lib/icu/Makefile.inc +6 -6
  141. data/vendor/local/lib/icu/pkgdata.inc +1 -1
  142. data/vendor/local/lib/icudt.dll +0 -0
  143. data/vendor/local/lib/{icudt55.dll → icudt57.dll} +0 -0
  144. data/vendor/local/lib/icuin.dll +0 -0
  145. data/vendor/local/lib/icuin57.dll +0 -0
  146. data/vendor/local/lib/icuio.dll +0 -0
  147. data/vendor/local/lib/icuio57.dll +0 -0
  148. data/vendor/local/lib/icule.dll +0 -0
  149. data/vendor/local/lib/icule57.dll +0 -0
  150. data/vendor/local/lib/iculx.dll +0 -0
  151. data/vendor/local/lib/iculx57.dll +0 -0
  152. data/vendor/local/lib/icutest.dll +0 -0
  153. data/vendor/local/lib/icutest57.dll +0 -0
  154. data/vendor/local/lib/icutu.dll +0 -0
  155. data/vendor/local/lib/icutu57.dll +0 -0
  156. data/vendor/local/lib/icuuc.dll +0 -0
  157. data/vendor/local/lib/icuuc57.dll +0 -0
  158. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  159. data/vendor/local/lib/libharfbuzz-icu.la +4 -4
  160. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  161. data/vendor/local/lib/libharfbuzz.la +4 -4
  162. data/vendor/local/lib/libicudt.dll.a +0 -0
  163. data/vendor/local/lib/libicuin.dll.a +0 -0
  164. data/vendor/local/lib/libicuio.dll.a +0 -0
  165. data/vendor/local/lib/libicule.dll.a +0 -0
  166. data/vendor/local/lib/libiculx.dll.a +0 -0
  167. data/vendor/local/lib/libicutest.dll.a +0 -0
  168. data/vendor/local/lib/libicutu.dll.a +0 -0
  169. data/vendor/local/lib/libicuuc.dll.a +0 -0
  170. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  171. data/vendor/local/lib/libpango-1.0.la +6 -6
  172. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  173. data/vendor/local/lib/libpangocairo-1.0.la +6 -6
  174. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  175. data/vendor/local/lib/libpangoft2-1.0.la +6 -6
  176. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  177. data/vendor/local/lib/libpangowin32-1.0.la +6 -6
  178. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  179. data/vendor/local/lib/pkgconfig/harfbuzz.pc +2 -2
  180. data/vendor/local/lib/pkgconfig/icu-i18n.pc +6 -6
  181. data/vendor/local/lib/pkgconfig/icu-io.pc +6 -6
  182. data/vendor/local/lib/pkgconfig/icu-le.pc +6 -6
  183. data/vendor/local/lib/pkgconfig/icu-lx.pc +6 -6
  184. data/vendor/local/lib/pkgconfig/icu-uc.pc +6 -6
  185. data/vendor/local/lib/pkgconfig/pango.pc +3 -5
  186. data/vendor/local/lib/pkgconfig/pangocairo.pc +3 -2
  187. data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
  188. data/vendor/local/lib/pkgconfig/pangowin32.pc +3 -2
  189. data/vendor/local/share/gir-1.0/Pango-1.0.gir +891 -307
  190. data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +45 -27
  191. data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +12 -5
  192. data/vendor/local/share/gtk-doc/html/harfbuzz/HarfBuzz.png +0 -0
  193. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-10.html +41 -0
  194. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-11.html +34 -0
  195. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-2.html +722 -0
  196. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-20.html +38 -0
  197. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-22.html +34 -0
  198. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-28.html +34 -0
  199. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-30.html +41 -0
  200. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-31.html +46 -0
  201. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-38.html +45 -0
  202. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-39.html +34 -0
  203. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-41.html +34 -0
  204. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-42.html +38 -0
  205. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-5.html +56 -0
  206. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-7.html +191 -0
  207. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-0-9-8.html +34 -0
  208. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-0-5.html +42 -0
  209. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-1-2.html +38 -0
  210. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-1-3.html +49 -0
  211. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +226 -58
  212. data/vendor/local/share/gtk-doc/html/harfbuzz/building.html +80 -0
  213. data/vendor/local/share/gtk-doc/html/harfbuzz/{ch06.html → ch07.html} +8 -2
  214. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +13 -2
  215. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Buffers.html +2738 -0
  216. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Shaping.html +20 -22
  217. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +38 -38
  218. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +287 -189
  219. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +2 -2
  220. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +2 -2
  221. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +38 -38
  222. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +403 -126
  223. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +85 -10
  224. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +17 -2
  225. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +172 -2
  226. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +2 -2
  227. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +2 -2
  228. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-font.html +76 -0
  229. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +43 -3
  230. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-shape.html +80 -0
  231. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +6 -6
  232. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +2 -2
  233. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +39 -39
  234. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +21 -21
  235. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +51 -46
  236. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +2 -2
  237. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +11 -11
  238. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +4 -4
  239. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +262 -190
  240. data/vendor/local/share/gtk-doc/html/harfbuzz/hello-harfbuzz.html +2 -2
  241. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +61 -7
  242. data/vendor/local/share/gtk-doc/html/harfbuzz/install-harfbuzz.html +59 -0
  243. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +9 -8
  244. data/vendor/local/share/gtk-doc/html/harfbuzz/pt01.html +5 -0
  245. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +37 -6
  246. data/vendor/local/share/gtk-doc/html/harfbuzz/why-is-it-called-harfbuzz.html +2 -2
  247. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +22 -19
  248. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +15 -12
  249. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +9 -12
  250. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +29 -35
  251. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +206 -97
  252. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +33 -8
  253. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +150 -57
  254. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +12 -4
  255. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +3 -4
  256. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +3 -4
  257. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +3 -4
  258. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +3 -4
  259. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +3 -4
  260. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +3 -4
  261. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +3 -4
  262. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +3 -4
  263. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +3 -4
  264. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +3 -4
  265. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +4 -5
  266. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +4 -5
  267. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +5 -6
  268. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +5 -6
  269. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +7 -7
  270. data/vendor/local/share/gtk-doc/html/pango/api-index-1-38.html +79 -0
  271. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +3 -4
  272. data/vendor/local/share/gtk-doc/html/pango/{tools.html → api-index-1-40.html} +9 -13
  273. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +3 -4
  274. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +3 -4
  275. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +161 -4
  276. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +51 -8
  277. data/vendor/local/share/gtk-doc/html/pango/index.html +8 -11
  278. data/vendor/local/share/gtk-doc/html/pango/index.sgml +251 -4
  279. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +3 -4
  280. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +18 -23
  281. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +121 -123
  282. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +5 -7
  283. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +10 -14
  284. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +28 -37
  285. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +170 -224
  286. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +35 -38
  287. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +257 -170
  288. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +186 -214
  289. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +117 -132
  290. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +26 -41
  291. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +140 -153
  292. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +270 -75
  293. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +28 -34
  294. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +361 -203
  295. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +194 -161
  296. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +16 -19
  297. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +21 -28
  298. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +34 -48
  299. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +52 -57
  300. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +10 -11
  301. data/vendor/local/share/gtk-doc/html/pango/pango.devhelp2 +285 -39
  302. data/vendor/local/share/gtk-doc/html/pango/pango.html +3 -4
  303. data/vendor/local/share/gtk-doc/html/pango/rendering.html +3 -4
  304. data/vendor/local/share/gtk-doc/html/pango/style.css +9 -6
  305. data/vendor/local/share/icu/57.1/LICENSE +393 -0
  306. data/vendor/local/share/icu/{55.1 → 57.1}/config/mh-mingw +0 -0
  307. data/vendor/local/share/icu/{55.1 → 57.1}/install-sh +0 -0
  308. data/vendor/local/share/icu/{55.1 → 57.1}/mkinstalldirs +0 -0
  309. data/vendor/local/share/man/man1/derb.1 +2 -2
  310. data/vendor/local/share/man/man1/genbrk.1 +2 -2
  311. data/vendor/local/share/man/man1/gencfu.1 +1 -1
  312. data/vendor/local/share/man/man1/gencnval.1 +3 -3
  313. data/vendor/local/share/man/man1/gendict.1 +2 -2
  314. data/vendor/local/share/man/man1/genrb.1 +3 -3
  315. data/vendor/local/share/man/man1/icu-config.1 +2 -2
  316. data/vendor/local/share/man/man1/makeconv.1 +3 -3
  317. data/vendor/local/share/man/man1/pango-view.1 +113 -1
  318. data/vendor/local/share/man/man1/pkgdata.1 +2 -2
  319. data/vendor/local/share/man/man1/uconv.1 +2 -2
  320. data/vendor/local/share/man/man8/genccode.8 +2 -2
  321. data/vendor/local/share/man/man8/gencmn.8 +3 -3
  322. data/vendor/local/share/man/man8/gensprep.8 +3 -3
  323. data/vendor/local/share/man/man8/icupkg.8 +1 -1
  324. metadata +49 -40
  325. data/lib/2.0/pango.so +0 -0
  326. data/lib/2.1/pango.so +0 -0
  327. data/vendor/local/bin/pango-querymodules.exe +0 -0
  328. data/vendor/local/etc/pango/pango.modules +0 -19
  329. data/vendor/local/lib/icuin55.dll +0 -0
  330. data/vendor/local/lib/icuio55.dll +0 -0
  331. data/vendor/local/lib/icule55.dll +0 -0
  332. data/vendor/local/lib/iculx55.dll +0 -0
  333. data/vendor/local/lib/icutest55.dll +0 -0
  334. data/vendor/local/lib/icutu55.dll +0 -0
  335. data/vendor/local/lib/icuuc55.dll +0 -0
  336. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  337. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  338. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +0 -41
  339. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  340. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  341. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +0 -41
  342. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  343. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  344. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +0 -41
  345. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  346. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  347. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +0 -41
  348. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +0 -1704
  349. data/vendor/local/share/gtk-doc/html/pango/pango-querymodules.html +0 -131
  350. data/vendor/local/share/icu/55.1/license.html +0 -384
  351. data/vendor/local/share/man/man1/pango-querymodules.1 +0 -106
@@ -1,6 +1,6 @@
1
- /*
1
+ /*
2
2
  ********************************************************************************
3
- * Copyright (C) 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;