pango 2.2.0-x86-mingw32 → 2.2.1-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 (407) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +21 -2
  3. data/lib/2.0/pango.so +0 -0
  4. data/vendor/local/bin/derb.exe +0 -0
  5. data/vendor/local/bin/genbrk.exe +0 -0
  6. data/vendor/local/bin/genccode.exe +0 -0
  7. data/vendor/local/bin/gencfu.exe +0 -0
  8. data/vendor/local/bin/gencmn.exe +0 -0
  9. data/vendor/local/bin/gencnval.exe +0 -0
  10. data/vendor/local/bin/gendict.exe +0 -0
  11. data/vendor/local/bin/gennorm2.exe +0 -0
  12. data/vendor/local/bin/genrb.exe +0 -0
  13. data/vendor/local/bin/gensprep.exe +0 -0
  14. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  15. data/vendor/local/bin/hb-shape.exe +0 -0
  16. data/vendor/local/bin/hb-view.exe +0 -0
  17. data/vendor/local/bin/icu-config +820 -0
  18. data/vendor/local/bin/icuinfo.exe +0 -0
  19. data/vendor/local/bin/icupkg.exe +0 -0
  20. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  21. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  22. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  23. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  24. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  25. data/vendor/local/bin/libstdc++-6.dll +0 -0
  26. data/vendor/local/bin/makeconv.exe +0 -0
  27. data/vendor/local/bin/pango-querymodules.exe +0 -0
  28. data/vendor/local/bin/pango-view.exe +0 -0
  29. data/vendor/local/bin/pkgdata.exe +0 -0
  30. data/vendor/local/bin/uconv.exe +0 -0
  31. data/vendor/local/etc/pango/pango.modules +3 -3
  32. data/vendor/local/include/harfbuzz/hb-blob.h +3 -4
  33. data/vendor/local/include/harfbuzz/hb-buffer.h +22 -1
  34. data/vendor/local/include/harfbuzz/hb-common.h +23 -18
  35. data/vendor/local/include/harfbuzz/hb-icu.h +52 -0
  36. data/vendor/local/include/harfbuzz/hb-ot-font.h +41 -0
  37. data/vendor/local/include/harfbuzz/hb-ot-layout.h +11 -3
  38. data/vendor/local/include/harfbuzz/hb-ot-shape.h +10 -11
  39. data/vendor/local/include/harfbuzz/hb-ot.h +1 -0
  40. data/vendor/local/include/harfbuzz/hb-version.h +7 -7
  41. data/vendor/local/include/layout/LEFontInstance.h +550 -0
  42. data/vendor/local/include/layout/LEGlyphFilter.h +45 -0
  43. data/vendor/local/include/layout/LEGlyphStorage.h +546 -0
  44. data/vendor/local/include/layout/LEInsertionList.h +177 -0
  45. data/vendor/local/include/layout/LELanguages.h +112 -0
  46. data/vendor/local/include/layout/LEScripts.h +263 -0
  47. data/vendor/local/include/layout/LESwaps.h +100 -0
  48. data/vendor/local/include/layout/LETableReference.h +418 -0
  49. data/vendor/local/include/layout/LETypes.h +728 -0
  50. data/vendor/local/include/layout/LayoutEngine.h +518 -0
  51. data/vendor/local/include/layout/ParagraphLayout.h +747 -0
  52. data/vendor/local/include/layout/RunArrays.h +676 -0
  53. data/vendor/local/include/layout/loengine.h +225 -0
  54. data/vendor/local/include/layout/playout.h +466 -0
  55. data/vendor/local/include/layout/plruns.h +441 -0
  56. data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
  57. data/vendor/local/include/pango-1.0/pango/pango-font.h +3 -1
  58. data/vendor/local/include/pango-1.0/pango/pango-item.h +11 -2
  59. data/vendor/local/include/unicode/alphaindex.h +752 -0
  60. data/vendor/local/include/unicode/appendable.h +232 -0
  61. data/vendor/local/include/unicode/basictz.h +214 -0
  62. data/vendor/local/include/unicode/brkiter.h +655 -0
  63. data/vendor/local/include/unicode/bytestream.h +257 -0
  64. data/vendor/local/include/unicode/bytestrie.h +519 -0
  65. data/vendor/local/include/unicode/bytestriebuilder.h +181 -0
  66. data/vendor/local/include/unicode/calendar.h +2519 -0
  67. data/vendor/local/include/unicode/caniter.h +208 -0
  68. data/vendor/local/include/unicode/chariter.h +722 -0
  69. data/vendor/local/include/unicode/choicfmt.h +594 -0
  70. data/vendor/local/include/unicode/coleitr.h +404 -0
  71. data/vendor/local/include/unicode/coll.h +1267 -0
  72. data/vendor/local/include/unicode/compactdecimalformat.h +330 -0
  73. data/vendor/local/include/unicode/curramt.h +130 -0
  74. data/vendor/local/include/unicode/currpinf.h +258 -0
  75. data/vendor/local/include/unicode/currunit.h +110 -0
  76. data/vendor/local/include/unicode/datefmt.h +883 -0
  77. data/vendor/local/include/unicode/dbbi.h +40 -0
  78. data/vendor/local/include/unicode/dcfmtsym.h +482 -0
  79. data/vendor/local/include/unicode/decimfmt.h +2479 -0
  80. data/vendor/local/include/unicode/docmain.h +215 -0
  81. data/vendor/local/include/unicode/dtfmtsym.h +912 -0
  82. data/vendor/local/include/unicode/dtintrv.h +158 -0
  83. data/vendor/local/include/unicode/dtitvfmt.h +985 -0
  84. data/vendor/local/include/unicode/dtitvinf.h +514 -0
  85. data/vendor/local/include/unicode/dtptngen.h +498 -0
  86. data/vendor/local/include/unicode/dtrule.h +250 -0
  87. data/vendor/local/include/unicode/enumset.h +64 -0
  88. data/vendor/local/include/unicode/errorcode.h +137 -0
  89. data/vendor/local/include/unicode/fieldpos.h +291 -0
  90. data/vendor/local/include/unicode/filteredbrk.h +131 -0
  91. data/vendor/local/include/unicode/fmtable.h +760 -0
  92. data/vendor/local/include/unicode/format.h +305 -0
  93. data/vendor/local/include/unicode/fpositer.h +117 -0
  94. data/vendor/local/include/unicode/gender.h +111 -0
  95. data/vendor/local/include/unicode/gregocal.h +777 -0
  96. data/vendor/local/include/unicode/icudataver.h +41 -0
  97. data/vendor/local/include/unicode/icuplug.h +371 -0
  98. data/vendor/local/include/unicode/idna.h +323 -0
  99. data/vendor/local/include/unicode/listformatter.h +167 -0
  100. data/vendor/local/include/unicode/localpointer.h +304 -0
  101. data/vendor/local/include/unicode/locdspnm.h +204 -0
  102. data/vendor/local/include/unicode/locid.h +815 -0
  103. data/vendor/local/include/unicode/measfmt.h +389 -0
  104. data/vendor/local/include/unicode/measunit.h +1443 -0
  105. data/vendor/local/include/unicode/measure.h +159 -0
  106. data/vendor/local/include/unicode/messagepattern.h +943 -0
  107. data/vendor/local/include/unicode/msgfmt.h +1093 -0
  108. data/vendor/local/include/unicode/normalizer2.h +658 -0
  109. data/vendor/local/include/unicode/normlzr.h +797 -0
  110. data/vendor/local/include/unicode/numfmt.h +1187 -0
  111. data/vendor/local/include/unicode/numsys.h +208 -0
  112. data/vendor/local/include/unicode/parseerr.h +92 -0
  113. data/vendor/local/include/unicode/parsepos.h +230 -0
  114. data/vendor/local/include/unicode/platform.h +751 -0
  115. data/vendor/local/include/unicode/plurfmt.h +615 -0
  116. data/vendor/local/include/unicode/plurrule.h +501 -0
  117. data/vendor/local/include/unicode/ptypes.h +126 -0
  118. data/vendor/local/include/unicode/putil.h +181 -0
  119. data/vendor/local/include/unicode/rbbi.h +782 -0
  120. data/vendor/local/include/unicode/rbnf.h +1032 -0
  121. data/vendor/local/include/unicode/rbtz.h +362 -0
  122. data/vendor/local/include/unicode/regex.h +1857 -0
  123. data/vendor/local/include/unicode/region.h +228 -0
  124. data/vendor/local/include/unicode/reldatefmt.h +498 -0
  125. data/vendor/local/include/unicode/rep.h +261 -0
  126. data/vendor/local/include/unicode/resbund.h +490 -0
  127. data/vendor/local/include/unicode/schriter.h +187 -0
  128. data/vendor/local/include/unicode/scientificformathelper.h +139 -0
  129. data/vendor/local/include/unicode/search.h +575 -0
  130. data/vendor/local/include/unicode/selfmt.h +367 -0
  131. data/vendor/local/include/unicode/simpletz.h +928 -0
  132. data/vendor/local/include/unicode/smpdtfmt.h +1592 -0
  133. data/vendor/local/include/unicode/sortkey.h +338 -0
  134. data/vendor/local/include/unicode/std_string.h +37 -0
  135. data/vendor/local/include/unicode/strenum.h +276 -0
  136. data/vendor/local/include/unicode/stringpiece.h +224 -0
  137. data/vendor/local/include/unicode/stringtriebuilder.h +402 -0
  138. data/vendor/local/include/unicode/stsearch.h +504 -0
  139. data/vendor/local/include/unicode/symtable.h +112 -0
  140. data/vendor/local/include/unicode/tblcoll.h +873 -0
  141. data/vendor/local/include/unicode/timezone.h +948 -0
  142. data/vendor/local/include/unicode/tmunit.h +129 -0
  143. data/vendor/local/include/unicode/tmutamt.h +168 -0
  144. data/vendor/local/include/unicode/tmutfmt.h +243 -0
  145. data/vendor/local/include/unicode/translit.h +1342 -0
  146. data/vendor/local/include/unicode/tzfmt.h +1098 -0
  147. data/vendor/local/include/unicode/tznames.h +404 -0
  148. data/vendor/local/include/unicode/tzrule.h +828 -0
  149. data/vendor/local/include/unicode/tztrans.h +195 -0
  150. data/vendor/local/include/unicode/ubidi.h +2186 -0
  151. data/vendor/local/include/unicode/ubrk.h +540 -0
  152. data/vendor/local/include/unicode/ucal.h +1560 -0
  153. data/vendor/local/include/unicode/ucasemap.h +423 -0
  154. data/vendor/local/include/unicode/ucat.h +158 -0
  155. data/vendor/local/include/unicode/uchar.h +3426 -0
  156. data/vendor/local/include/unicode/ucharstrie.h +576 -0
  157. data/vendor/local/include/unicode/ucharstriebuilder.h +185 -0
  158. data/vendor/local/include/unicode/uchriter.h +381 -0
  159. data/vendor/local/include/unicode/uclean.h +258 -0
  160. data/vendor/local/include/unicode/ucnv.h +2036 -0
  161. data/vendor/local/include/unicode/ucnv_cb.h +162 -0
  162. data/vendor/local/include/unicode/ucnv_err.h +463 -0
  163. data/vendor/local/include/unicode/ucnvsel.h +187 -0
  164. data/vendor/local/include/unicode/ucol.h +1474 -0
  165. data/vendor/local/include/unicode/ucoleitr.h +266 -0
  166. data/vendor/local/include/unicode/uconfig.h +430 -0
  167. data/vendor/local/include/unicode/ucsdet.h +413 -0
  168. data/vendor/local/include/unicode/ucurr.h +424 -0
  169. data/vendor/local/include/unicode/udat.h +1536 -0
  170. data/vendor/local/include/unicode/udata.h +430 -0
  171. data/vendor/local/include/unicode/udateintervalformat.h +181 -0
  172. data/vendor/local/include/unicode/udatpg.h +588 -0
  173. data/vendor/local/include/unicode/udisplaycontext.h +150 -0
  174. data/vendor/local/include/unicode/uenum.h +206 -0
  175. data/vendor/local/include/unicode/uformattable.h +280 -0
  176. data/vendor/local/include/unicode/ugender.h +82 -0
  177. data/vendor/local/include/unicode/uidna.h +762 -0
  178. data/vendor/local/include/unicode/uiter.h +707 -0
  179. data/vendor/local/include/unicode/uldnames.h +302 -0
  180. data/vendor/local/include/unicode/uloc.h +1256 -0
  181. data/vendor/local/include/unicode/ulocdata.h +277 -0
  182. data/vendor/local/include/unicode/umachine.h +356 -0
  183. data/vendor/local/include/unicode/umisc.h +60 -0
  184. data/vendor/local/include/unicode/umsg.h +623 -0
  185. data/vendor/local/include/unicode/unifilt.h +120 -0
  186. data/vendor/local/include/unicode/unifunct.h +125 -0
  187. data/vendor/local/include/unicode/unimatch.h +163 -0
  188. data/vendor/local/include/unicode/unirepl.h +97 -0
  189. data/vendor/local/include/unicode/uniset.h +1691 -0
  190. data/vendor/local/include/unicode/unistr.h +4470 -0
  191. data/vendor/local/include/unicode/unorm.h +561 -0
  192. data/vendor/local/include/unicode/unorm2.h +528 -0
  193. data/vendor/local/include/unicode/unum.h +1328 -0
  194. data/vendor/local/include/unicode/unumsys.h +170 -0
  195. data/vendor/local/include/unicode/uobject.h +320 -0
  196. data/vendor/local/include/unicode/upluralrules.h +145 -0
  197. data/vendor/local/include/unicode/uregex.h +1591 -0
  198. data/vendor/local/include/unicode/uregion.h +248 -0
  199. data/vendor/local/include/unicode/urename.h +1784 -0
  200. data/vendor/local/include/unicode/urep.h +155 -0
  201. data/vendor/local/include/unicode/ures.h +887 -0
  202. data/vendor/local/include/unicode/uscript.h +642 -0
  203. data/vendor/local/include/unicode/usearch.h +885 -0
  204. data/vendor/local/include/unicode/uset.h +1126 -0
  205. data/vendor/local/include/unicode/usetiter.h +318 -0
  206. data/vendor/local/include/unicode/ushape.h +474 -0
  207. data/vendor/local/include/unicode/uspoof.h +1064 -0
  208. data/vendor/local/include/unicode/usprep.h +269 -0
  209. data/vendor/local/include/unicode/ustdio.h +1018 -0
  210. data/vendor/local/include/unicode/ustream.h +68 -0
  211. data/vendor/local/include/unicode/ustring.h +1700 -0
  212. data/vendor/local/include/unicode/ustringtrie.h +95 -0
  213. data/vendor/local/include/unicode/utext.h +1600 -0
  214. data/vendor/local/include/unicode/utf.h +223 -0
  215. data/vendor/local/include/unicode/utf16.h +623 -0
  216. data/vendor/local/include/unicode/utf32.h +23 -0
  217. data/vendor/local/include/unicode/utf8.h +824 -0
  218. data/vendor/local/include/unicode/utf_old.h +1169 -0
  219. data/vendor/local/include/unicode/utmscale.h +481 -0
  220. data/vendor/local/include/unicode/utrace.h +359 -0
  221. data/vendor/local/include/unicode/utrans.h +658 -0
  222. data/vendor/local/include/unicode/utypes.h +723 -0
  223. data/vendor/local/include/unicode/uvernum.h +170 -0
  224. data/vendor/local/include/unicode/uversion.h +193 -0
  225. data/vendor/local/include/unicode/vtzone.h +455 -0
  226. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  227. data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
  228. data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
  229. data/vendor/local/lib/icu/54.1/Makefile.inc +293 -0
  230. data/vendor/local/lib/icu/54.1/pkgdata.inc +17 -0
  231. data/vendor/local/lib/icu/Makefile.inc +293 -0
  232. data/vendor/local/lib/icu/pkgdata.inc +17 -0
  233. data/vendor/local/lib/icudt.dll +0 -0
  234. data/vendor/local/lib/icudt54.dll +0 -0
  235. data/vendor/local/lib/icuin.dll +0 -0
  236. data/vendor/local/lib/icuin54.dll +0 -0
  237. data/vendor/local/lib/icuio.dll +0 -0
  238. data/vendor/local/lib/icuio54.dll +0 -0
  239. data/vendor/local/lib/icule.dll +0 -0
  240. data/vendor/local/lib/icule54.dll +0 -0
  241. data/vendor/local/lib/iculx.dll +0 -0
  242. data/vendor/local/lib/iculx54.dll +0 -0
  243. data/vendor/local/lib/icutest.dll +0 -0
  244. data/vendor/local/lib/icutest54.dll +0 -0
  245. data/vendor/local/lib/icutu.dll +0 -0
  246. data/vendor/local/lib/icutu54.dll +0 -0
  247. data/vendor/local/lib/icuuc.dll +0 -0
  248. data/vendor/local/lib/icuuc54.dll +0 -0
  249. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  250. data/vendor/local/lib/libharfbuzz-icu.la +41 -0
  251. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  252. data/vendor/local/lib/libharfbuzz.la +3 -3
  253. data/vendor/local/lib/libicudt.dll.a +0 -0
  254. data/vendor/local/lib/libicuin.dll.a +0 -0
  255. data/vendor/local/lib/libicuio.dll.a +0 -0
  256. data/vendor/local/lib/libicule.dll.a +0 -0
  257. data/vendor/local/lib/libiculx.dll.a +0 -0
  258. data/vendor/local/lib/libicutest.dll.a +0 -0
  259. data/vendor/local/lib/libicutu.dll.a +0 -0
  260. data/vendor/local/lib/libicuuc.dll.a +0 -0
  261. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  262. data/vendor/local/lib/libpango-1.0.la +2 -2
  263. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  264. data/vendor/local/lib/libpangocairo-1.0.la +2 -2
  265. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  266. data/vendor/local/lib/libpangoft2-1.0.la +2 -2
  267. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  268. data/vendor/local/lib/libpangowin32-1.0.la +2 -2
  269. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  270. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  271. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +1 -1
  272. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  273. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  274. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +1 -1
  275. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  276. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  277. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +1 -1
  278. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  279. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  280. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +1 -1
  281. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +13 -0
  282. data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
  283. data/vendor/local/lib/pkgconfig/icu-i18n.pc +38 -0
  284. data/vendor/local/lib/pkgconfig/icu-io.pc +38 -0
  285. data/vendor/local/lib/pkgconfig/icu-le.pc +38 -0
  286. data/vendor/local/lib/pkgconfig/icu-lx.pc +38 -0
  287. data/vendor/local/lib/pkgconfig/icu-uc.pc +38 -0
  288. data/vendor/local/lib/pkgconfig/pango.pc +1 -1
  289. data/vendor/local/lib/pkgconfig/pangocairo.pc +1 -1
  290. data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
  291. data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
  292. data/vendor/local/share/gir-1.0/Pango-1.0.gir +3009 -462
  293. data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +64 -22
  294. data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +4 -2
  295. data/vendor/local/share/gtk-doc/html/harfbuzz/annotation-glossary.html +30 -26
  296. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +343 -313
  297. data/vendor/local/share/gtk-doc/html/harfbuzz/ch01.html +5 -5
  298. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +6 -8
  299. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +442 -247
  300. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +1389 -654
  301. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +954 -698
  302. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +95 -18
  303. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +36 -27
  304. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +477 -191
  305. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +1951 -1039
  306. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +123 -65
  307. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +66 -21
  308. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +11 -13
  309. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +67 -23
  310. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +66 -21
  311. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +574 -347
  312. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +104 -37
  313. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +10 -27
  314. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +744 -318
  315. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +294 -153
  316. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html +196 -104
  317. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +1100 -757
  318. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +51 -18
  319. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +110 -84
  320. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +11 -13
  321. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +289 -503
  322. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +3 -3
  323. data/vendor/local/share/gtk-doc/html/harfbuzz/index.sgml +161 -316
  324. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +31 -4
  325. data/vendor/local/share/gtk-doc/html/harfbuzz/style.css +260 -105
  326. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +143 -105
  327. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +150 -108
  328. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +163 -112
  329. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +348 -229
  330. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +746 -514
  331. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +9 -9
  332. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +853 -623
  333. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +29 -13
  334. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +31 -33
  335. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +10 -12
  336. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +12 -14
  337. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +53 -55
  338. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +28 -30
  339. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +29 -31
  340. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +17 -19
  341. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +28 -30
  342. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +17 -19
  343. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +9 -11
  344. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +6 -6
  345. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +6 -6
  346. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +11 -13
  347. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +7 -9
  348. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +5 -5
  349. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +49 -51
  350. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +36 -38
  351. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +37 -39
  352. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +68 -70
  353. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +568 -570
  354. data/vendor/local/share/gtk-doc/html/pango/index.html +3 -3
  355. data/vendor/local/share/gtk-doc/html/pango/index.sgml +229 -399
  356. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +4 -4
  357. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +345 -259
  358. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +979 -664
  359. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +70 -43
  360. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +349 -229
  361. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +236 -153
  362. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +3100 -2159
  363. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +659 -472
  364. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +1952 -1384
  365. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +3050 -2135
  366. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +676 -463
  367. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +223 -146
  368. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +1589 -1199
  369. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +1072 -842
  370. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +406 -276
  371. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +2541 -1792
  372. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +1479 -1033
  373. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +214 -154
  374. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +374 -291
  375. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +733 -498
  376. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +893 -617
  377. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +59 -59
  378. data/vendor/local/share/gtk-doc/html/pango/pango-querymodules.html +5 -5
  379. data/vendor/local/share/gtk-doc/html/pango/pango.devhelp2 +578 -782
  380. data/vendor/local/share/gtk-doc/html/pango/pango.html +4 -4
  381. data/vendor/local/share/gtk-doc/html/pango/rendering.html +4 -4
  382. data/vendor/local/share/gtk-doc/html/pango/style.css +260 -105
  383. data/vendor/local/share/gtk-doc/html/pango/tools.html +4 -4
  384. data/vendor/local/share/icu/54.1/config/mh-mingw +158 -0
  385. data/vendor/local/share/icu/54.1/install-sh +251 -0
  386. data/vendor/local/share/icu/54.1/license.html +385 -0
  387. data/vendor/local/share/icu/54.1/mkinstalldirs +43 -0
  388. data/vendor/local/share/license/harfbuzz/AUTHORS +1 -0
  389. data/vendor/local/share/man/man1/derb.1 +196 -0
  390. data/vendor/local/share/man/man1/genbrk.1 +112 -0
  391. data/vendor/local/share/man/man1/gencfu.1 +91 -0
  392. data/vendor/local/share/man/man1/gencnval.1 +91 -0
  393. data/vendor/local/share/man/man1/gendict.1 +131 -0
  394. data/vendor/local/share/man/man1/genrb.1 +146 -0
  395. data/vendor/local/share/man/man1/icu-config.1 +288 -0
  396. data/vendor/local/share/man/man1/makeconv.1 +112 -0
  397. data/vendor/local/share/man/man1/pango-querymodules.1 +2 -2
  398. data/vendor/local/share/man/man1/pango-view.1 +1 -118
  399. data/vendor/local/share/man/man1/pkgdata.1 +258 -0
  400. data/vendor/local/share/man/man1/uconv.1 +443 -0
  401. data/vendor/local/share/man/man8/genccode.8 +106 -0
  402. data/vendor/local/share/man/man8/gencmn.8 +129 -0
  403. data/vendor/local/share/man/man8/gensprep.8 +102 -0
  404. data/vendor/local/share/man/man8/icupkg.8 +204 -0
  405. metadata +266 -14
  406. data/lib/1.9/pango.so +0 -0
  407. data/lib/2.1/pango.so +0 -0
@@ -0,0 +1,150 @@
1
+ /*
2
+ *****************************************************************************************
3
+ * Copyright (C) 2014, International Business Machines
4
+ * Corporation and others. All Rights Reserved.
5
+ *****************************************************************************************
6
+ */
7
+
8
+ #ifndef UDISPLAYCONTEXT_H
9
+ #define UDISPLAYCONTEXT_H
10
+
11
+ #include "unicode/utypes.h"
12
+
13
+ #if !UCONFIG_NO_FORMATTING
14
+
15
+ /**
16
+ * \file
17
+ * \brief C API: Display context types (enum values)
18
+ */
19
+
20
+ /**
21
+ * Display context types, for getting values of a particular setting.
22
+ * Note, the specific numeric values are internal and may change.
23
+ * @stable ICU 51
24
+ */
25
+ enum UDisplayContextType {
26
+ /**
27
+ * Type to retrieve the dialect handling setting, e.g.
28
+ * UDISPCTX_STANDARD_NAMES or UDISPCTX_DIALECT_NAMES.
29
+ * @stable ICU 51
30
+ */
31
+ UDISPCTX_TYPE_DIALECT_HANDLING = 0,
32
+ /**
33
+ * Type to retrieve the capitalization context setting, e.g.
34
+ * UDISPCTX_CAPITALIZATION_NONE, UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE,
35
+ * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE, etc.
36
+ * @stable ICU 51
37
+ */
38
+ UDISPCTX_TYPE_CAPITALIZATION = 1
39
+ #ifndef U_HIDE_DRAFT_API
40
+ ,
41
+ /**
42
+ * Type to retrieve the display length setting, e.g.
43
+ * UDISPCTX_LENGTH_FULL, UDISPCTX_LENGTH_SHORT.
44
+ * @draft ICU 54
45
+ */
46
+ UDISPCTX_TYPE_DISPLAY_LENGTH = 2
47
+ #endif /* U_HIDE_DRAFT_API */
48
+ };
49
+ /**
50
+ * @stable ICU 51
51
+ */
52
+ typedef enum UDisplayContextType UDisplayContextType;
53
+
54
+ /**
55
+ * Display context settings.
56
+ * Note, the specific numeric values are internal and may change.
57
+ * @stable ICU 51
58
+ */
59
+ enum UDisplayContext {
60
+ /**
61
+ * ================================
62
+ * DIALECT_HANDLING can be set to one of UDISPCTX_STANDARD_NAMES or
63
+ * UDISPCTX_DIALECT_NAMES. Use UDisplayContextType UDISPCTX_TYPE_DIALECT_HANDLING
64
+ * to get the value.
65
+ */
66
+ /**
67
+ * A possible setting for DIALECT_HANDLING:
68
+ * use standard names when generating a locale name,
69
+ * e.g. en_GB displays as 'English (United Kingdom)'.
70
+ * @stable ICU 51
71
+ */
72
+ UDISPCTX_STANDARD_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 0,
73
+ /**
74
+ * A possible setting for DIALECT_HANDLING:
75
+ * use dialect names, when generating a locale name,
76
+ * e.g. en_GB displays as 'British English'.
77
+ * @stable ICU 51
78
+ */
79
+ UDISPCTX_DIALECT_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 1,
80
+ /**
81
+ * ================================
82
+ * CAPITALIZATION can be set to one of UDISPCTX_CAPITALIZATION_NONE,
83
+ * UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE,
84
+ * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE,
85
+ * UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU, or
86
+ * UDISPCTX_CAPITALIZATION_FOR_STANDALONE.
87
+ * Use UDisplayContextType UDISPCTX_TYPE_CAPITALIZATION to get the value.
88
+ */
89
+ /**
90
+ * The capitalization context to be used is unknown (this is the default value).
91
+ * @stable ICU 51
92
+ */
93
+ UDISPCTX_CAPITALIZATION_NONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 0,
94
+ /**
95
+ * The capitalization context if a date, date symbol or display name is to be
96
+ * formatted with capitalization appropriate for the middle of a sentence.
97
+ * @stable ICU 51
98
+ */
99
+ UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 1,
100
+ /**
101
+ * The capitalization context if a date, date symbol or display name is to be
102
+ * formatted with capitalization appropriate for the beginning of a sentence.
103
+ * @stable ICU 51
104
+ */
105
+ UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 2,
106
+ /**
107
+ * The capitalization context if a date, date symbol or display name is to be
108
+ * formatted with capitalization appropriate for a user-interface list or menu item.
109
+ * @stable ICU 51
110
+ */
111
+ UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 3,
112
+ /**
113
+ * The capitalization context if a date, date symbol or display name is to be
114
+ * formatted with capitalization appropriate for stand-alone usage such as an
115
+ * isolated name on a calendar page.
116
+ * @stable ICU 51
117
+ */
118
+ UDISPCTX_CAPITALIZATION_FOR_STANDALONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 4
119
+ #ifndef U_HIDE_DRAFT_API
120
+ ,
121
+ /**
122
+ * ================================
123
+ * DISPLAY_LENGTH can be set to one of UDISPCTX_LENGTH_FULL or
124
+ * UDISPCTX_LENGTH_SHORT. Use UDisplayContextType UDISPCTX_TYPE_DISPLAY_LENGTH
125
+ * to get the value.
126
+ */
127
+ /**
128
+ * A possible setting for DISPLAY_LENGTH:
129
+ * use full names when generating a locale name,
130
+ * e.g. "United States" for US.
131
+ * @draft ICU 54
132
+ */
133
+ UDISPCTX_LENGTH_FULL = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 0,
134
+ /**
135
+ * A possible setting for DISPLAY_LENGTH:
136
+ * use short names when generating a locale name,
137
+ * e.g. "U.S." for US.
138
+ * @draft ICU 54
139
+ */
140
+ UDISPCTX_LENGTH_SHORT = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 1
141
+ #endif /* U_HIDE_DRAFT_API */
142
+ };
143
+ /**
144
+ * @stable ICU 51
145
+ */
146
+ typedef enum UDisplayContext UDisplayContext;
147
+
148
+ #endif /* #if !UCONFIG_NO_FORMATTING */
149
+
150
+ #endif
@@ -0,0 +1,206 @@
1
+ /*
2
+ *******************************************************************************
3
+ *
4
+ * Copyright (C) 2002-2013, International Business Machines
5
+ * Corporation and others. All Rights Reserved.
6
+ *
7
+ *******************************************************************************
8
+ * file name: uenum.h
9
+ * encoding: US-ASCII
10
+ * tab size: 8 (not used)
11
+ * indentation:2
12
+ *
13
+ * created on: 2002jul08
14
+ * created by: Vladimir Weinstein
15
+ */
16
+
17
+ #ifndef __UENUM_H
18
+ #define __UENUM_H
19
+
20
+ #include "unicode/utypes.h"
21
+ #include "unicode/localpointer.h"
22
+
23
+ #if U_SHOW_CPLUSPLUS_API
24
+ #include "unicode/strenum.h"
25
+ #endif
26
+
27
+ /**
28
+ * \file
29
+ * \brief C API: String Enumeration
30
+ */
31
+
32
+ /**
33
+ * An enumeration object.
34
+ * For usage in C programs.
35
+ * @stable ICU 2.2
36
+ */
37
+ struct UEnumeration;
38
+ /** structure representing an enumeration object instance @stable ICU 2.2 */
39
+ typedef struct UEnumeration UEnumeration;
40
+
41
+ /**
42
+ * Disposes of resources in use by the iterator. If en is NULL,
43
+ * does nothing. After this call, any char* or UChar* pointer
44
+ * returned by uenum_unext() or uenum_next() is invalid.
45
+ * @param en UEnumeration structure pointer
46
+ * @stable ICU 2.2
47
+ */
48
+ U_STABLE void U_EXPORT2
49
+ uenum_close(UEnumeration* en);
50
+
51
+ #if U_SHOW_CPLUSPLUS_API
52
+
53
+ U_NAMESPACE_BEGIN
54
+
55
+ /**
56
+ * \class LocalUEnumerationPointer
57
+ * "Smart pointer" class, closes a UEnumeration via uenum_close().
58
+ * For most methods see the LocalPointerBase base class.
59
+ *
60
+ * @see LocalPointerBase
61
+ * @see LocalPointer
62
+ * @stable ICU 4.4
63
+ */
64
+ U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
65
+
66
+ U_NAMESPACE_END
67
+
68
+ #endif
69
+
70
+ /**
71
+ * Returns the number of elements that the iterator traverses. If
72
+ * the iterator is out-of-sync with its service, status is set to
73
+ * U_ENUM_OUT_OF_SYNC_ERROR.
74
+ * This is a convenience function. It can end up being very
75
+ * expensive as all the items might have to be pre-fetched (depending
76
+ * on the type of data being traversed). Use with caution and only
77
+ * when necessary.
78
+ * @param en UEnumeration structure pointer
79
+ * @param status error code, can be U_ENUM_OUT_OF_SYNC_ERROR if the
80
+ * iterator is out of sync.
81
+ * @return number of elements in the iterator
82
+ * @stable ICU 2.2
83
+ */
84
+ U_STABLE int32_t U_EXPORT2
85
+ uenum_count(UEnumeration* en, UErrorCode* status);
86
+
87
+ /**
88
+ * Returns the next element in the iterator's list. If there are
89
+ * no more elements, returns NULL. If the iterator is out-of-sync
90
+ * with its service, status is set to U_ENUM_OUT_OF_SYNC_ERROR and
91
+ * NULL is returned. If the native service string is a char* string,
92
+ * it is converted to UChar* with the invariant converter.
93
+ * The result is terminated by (UChar)0.
94
+ * @param en the iterator object
95
+ * @param resultLength pointer to receive the length of the result
96
+ * (not including the terminating \\0).
97
+ * If the pointer is NULL it is ignored.
98
+ * @param status the error code, set to U_ENUM_OUT_OF_SYNC_ERROR if
99
+ * the iterator is out of sync with its service.
100
+ * @return a pointer to the string. The string will be
101
+ * zero-terminated. The return pointer is owned by this iterator
102
+ * and must not be deleted by the caller. The pointer is valid
103
+ * until the next call to any uenum_... method, including
104
+ * uenum_next() or uenum_unext(). When all strings have been
105
+ * traversed, returns NULL.
106
+ * @stable ICU 2.2
107
+ */
108
+ U_STABLE const UChar* U_EXPORT2
109
+ uenum_unext(UEnumeration* en,
110
+ int32_t* resultLength,
111
+ UErrorCode* status);
112
+
113
+ /**
114
+ * Returns the next element in the iterator's list. If there are
115
+ * no more elements, returns NULL. If the iterator is out-of-sync
116
+ * with its service, status is set to U_ENUM_OUT_OF_SYNC_ERROR and
117
+ * NULL is returned. If the native service string is a UChar*
118
+ * string, it is converted to char* with the invariant converter.
119
+ * The result is terminated by (char)0. If the conversion fails
120
+ * (because a character cannot be converted) then status is set to
121
+ * U_INVARIANT_CONVERSION_ERROR and the return value is undefined
122
+ * (but non-NULL).
123
+ * @param en the iterator object
124
+ * @param resultLength pointer to receive the length of the result
125
+ * (not including the terminating \\0).
126
+ * If the pointer is NULL it is ignored.
127
+ * @param status the error code, set to U_ENUM_OUT_OF_SYNC_ERROR if
128
+ * the iterator is out of sync with its service. Set to
129
+ * U_INVARIANT_CONVERSION_ERROR if the underlying native string is
130
+ * UChar* and conversion to char* with the invariant converter
131
+ * fails. This error pertains only to current string, so iteration
132
+ * might be able to continue successfully.
133
+ * @return a pointer to the string. The string will be
134
+ * zero-terminated. The return pointer is owned by this iterator
135
+ * and must not be deleted by the caller. The pointer is valid
136
+ * until the next call to any uenum_... method, including
137
+ * uenum_next() or uenum_unext(). When all strings have been
138
+ * traversed, returns NULL.
139
+ * @stable ICU 2.2
140
+ */
141
+ U_STABLE const char* U_EXPORT2
142
+ uenum_next(UEnumeration* en,
143
+ int32_t* resultLength,
144
+ UErrorCode* status);
145
+
146
+ /**
147
+ * Resets the iterator to the current list of service IDs. This
148
+ * re-establishes sync with the service and rewinds the iterator
149
+ * to start at the first element.
150
+ * @param en the iterator object
151
+ * @param status the error code, set to U_ENUM_OUT_OF_SYNC_ERROR if
152
+ * the iterator is out of sync with its service.
153
+ * @stable ICU 2.2
154
+ */
155
+ U_STABLE void U_EXPORT2
156
+ uenum_reset(UEnumeration* en, UErrorCode* status);
157
+
158
+ #if U_SHOW_CPLUSPLUS_API
159
+
160
+ /**
161
+ * Given a StringEnumeration, wrap it in a UEnumeration. The
162
+ * StringEnumeration is adopted; after this call, the caller must not
163
+ * delete it (regardless of error status).
164
+ * @param adopted the C++ StringEnumeration to be wrapped in a UEnumeration.
165
+ * @param ec the error code.
166
+ * @return a UEnumeration wrapping the adopted StringEnumeration.
167
+ * @stable ICU 4.2
168
+ */
169
+ U_STABLE UEnumeration* U_EXPORT2
170
+ uenum_openFromStringEnumeration(icu::StringEnumeration* adopted, UErrorCode* ec);
171
+
172
+ #endif
173
+
174
+ /**
175
+ * Given an array of const UChar* strings, return a UEnumeration. String pointers from 0..count-1 must not be null.
176
+ * Do not free or modify either the string array or the characters it points to until this object has been destroyed with uenum_close.
177
+ * \snippet test/cintltst/uenumtst.c uenum_openUCharStringsEnumeration
178
+ * @param strings array of const UChar* strings (each null terminated). All storage is owned by the caller.
179
+ * @param count length of the array
180
+ * @param ec error code
181
+ * @return the new UEnumeration object. Caller is responsible for calling uenum_close to free memory.
182
+ * @see uenum_close
183
+ * @stable ICU 50
184
+ */
185
+ U_STABLE UEnumeration* U_EXPORT2
186
+ uenum_openUCharStringsEnumeration(const UChar* const strings[], int32_t count,
187
+ UErrorCode* ec);
188
+
189
+ /* Note: next function is not hidden as draft, as it is used internally (it was formerly an internal function). */
190
+
191
+ /**
192
+ * Given an array of const char* strings (invariant chars only), return a UEnumeration. String pointers from 0..count-1 must not be null.
193
+ * Do not free or modify either the string array or the characters it points to until this object has been destroyed with uenum_close.
194
+ * \snippet test/cintltst/uenumtst.c uenum_openCharStringsEnumeration
195
+ * @param strings array of char* strings (each null terminated). All storage is owned by the caller.
196
+ * @param count length of the array
197
+ * @param ec error code
198
+ * @return the new UEnumeration object. Caller is responsible for calling uenum_close to free memory
199
+ * @see uenum_close
200
+ * @stable ICU 50
201
+ */
202
+ U_STABLE UEnumeration* U_EXPORT2
203
+ uenum_openCharStringsEnumeration(const char* const strings[], int32_t count,
204
+ UErrorCode* ec);
205
+
206
+ #endif
@@ -0,0 +1,280 @@
1
+ /*
2
+ ********************************************************************************
3
+ * Copyright (C) 2013-2014, International Business Machines Corporation and others.
4
+ * All Rights Reserved.
5
+ ********************************************************************************
6
+ *
7
+ * File UFORMATTABLE.H
8
+ *
9
+ * Modification History:
10
+ *
11
+ * Date Name Description
12
+ * 2013 Jun 7 srl New
13
+ ********************************************************************************
14
+ */
15
+
16
+ /**
17
+ * \file
18
+ * \brief C API: UFormattable is a thin wrapper for primitive types used for formatting and parsing.
19
+ *
20
+ * This is a C interface to the icu::Formattable class. Static functions on this class convert
21
+ * to and from this interface (via reinterpret_cast). Note that Formattables (and thus UFormattables)
22
+ * are mutable, and many operations (even getters) may actually modify the internal state. For this
23
+ * reason, UFormattables are not thread safe, and should not be shared between threads.
24
+ *
25
+ * See {@link unum_parseToUFormattable} for example code.
26
+ */
27
+
28
+ #ifndef UFORMATTABLE_H
29
+ #define UFORMATTABLE_H
30
+
31
+ #include "unicode/utypes.h"
32
+
33
+ #if !UCONFIG_NO_FORMATTING
34
+
35
+ #include "unicode/localpointer.h"
36
+
37
+ /**
38
+ * Enum designating the type of a UFormattable instance.
39
+ * Practically, this indicates which of the getters would return without conversion
40
+ * or error.
41
+ * @see icu::Formattable::Type
42
+ * @stable ICU 52
43
+ */
44
+ typedef enum UFormattableType {
45
+ UFMT_DATE = 0, /**< ufmt_getDate() will return without conversion. @see ufmt_getDate*/
46
+ UFMT_DOUBLE, /**< ufmt_getDouble() will return without conversion. @see ufmt_getDouble*/
47
+ UFMT_LONG, /**< ufmt_getLong() will return without conversion. @see ufmt_getLong */
48
+ UFMT_STRING, /**< ufmt_getUChars() will return without conversion. @see ufmt_getUChars*/
49
+ UFMT_ARRAY, /**< ufmt_countArray() and ufmt_getArray() will return the value. @see ufmt_getArrayItemByIndex */
50
+ UFMT_INT64, /**< ufmt_getInt64() will return without conversion. @see ufmt_getInt64 */
51
+ UFMT_OBJECT, /**< ufmt_getObject() will return without conversion. @see ufmt_getObject*/
52
+ UFMT_COUNT /**< Count of defined UFormattableType values */
53
+ } UFormattableType;
54
+
55
+
56
+ /**
57
+ * Opaque type representing various types of data which may be used for formatting
58
+ * and parsing operations.
59
+ * @see icu::Formattable
60
+ * @stable ICU 52
61
+ */
62
+ typedef void *UFormattable;
63
+
64
+ /**
65
+ * Initialize a UFormattable, to type UNUM_LONG, value 0
66
+ * may return error if memory allocation failed.
67
+ * parameter status error code.
68
+ * See {@link unum_parseToUFormattable} for example code.
69
+ * @stable ICU 52
70
+ * @return the new UFormattable
71
+ * @see ufmt_close
72
+ * @see icu::Formattable::Formattable()
73
+ */
74
+ U_STABLE UFormattable* U_EXPORT2
75
+ ufmt_open(UErrorCode* status);
76
+
77
+ /**
78
+ * Cleanup any additional memory allocated by this UFormattable.
79
+ * @param fmt the formatter
80
+ * @stable ICU 52
81
+ * @see ufmt_open
82
+ */
83
+ U_STABLE void U_EXPORT2
84
+ ufmt_close(UFormattable* fmt);
85
+
86
+ #if U_SHOW_CPLUSPLUS_API
87
+
88
+ U_NAMESPACE_BEGIN
89
+
90
+ /**
91
+ * \class LocalUFormattablePointer
92
+ * "Smart pointer" class, closes a UFormattable via ufmt_close().
93
+ * For most methods see the LocalPointerBase base class.
94
+ *
95
+ * @see LocalPointerBase
96
+ * @see LocalPointer
97
+ * @stable ICU 52
98
+ */
99
+ U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattablePointer, UFormattable, ufmt_close);
100
+
101
+ U_NAMESPACE_END
102
+
103
+ #endif
104
+
105
+ /**
106
+ * Return the type of this object
107
+ * @param fmt the UFormattable object
108
+ * @param status status code - U_ILLEGAL_ARGUMENT_ERROR is returned if the UFormattable contains data not supported by
109
+ * the API
110
+ * @return the value as a UFormattableType
111
+ * @see ufmt_isNumeric
112
+ * @see icu::Formattable::getType() const
113
+ * @stable ICU 52
114
+ */
115
+ U_STABLE UFormattableType U_EXPORT2
116
+ ufmt_getType(const UFormattable* fmt, UErrorCode *status);
117
+
118
+ /**
119
+ * Return whether the object is numeric.
120
+ * @param fmt the UFormattable object
121
+ * @return true if the object is a double, long, or int64 value, else false.
122
+ * @see ufmt_getType
123
+ * @see icu::Formattable::isNumeric() const
124
+ * @stable ICU 52
125
+ */
126
+ U_STABLE UBool U_EXPORT2
127
+ ufmt_isNumeric(const UFormattable* fmt);
128
+
129
+ /**
130
+ * Gets the UDate value of this object. If the type is not of type UFMT_DATE,
131
+ * status is set to U_INVALID_FORMAT_ERROR and the return value is
132
+ * undefined.
133
+ * @param fmt the UFormattable object
134
+ * @param status the error code - any conversion or format errors
135
+ * @return the value
136
+ * @stable ICU 52
137
+ * @see icu::Formattable::getDate(UErrorCode&) const
138
+ */
139
+ U_STABLE UDate U_EXPORT2
140
+ ufmt_getDate(const UFormattable* fmt, UErrorCode *status);
141
+
142
+ /**
143
+ * Gets the double value of this object. If the type is not a UFMT_DOUBLE, or
144
+ * if there are additional significant digits than fit in a double type,
145
+ * a conversion is performed with possible loss of precision.
146
+ * If the type is UFMT_OBJECT and the
147
+ * object is a Measure, then the result of
148
+ * getNumber().getDouble(status) is returned. If this object is
149
+ * neither a numeric type nor a Measure, then 0 is returned and
150
+ * the status is set to U_INVALID_FORMAT_ERROR.
151
+ * @param fmt the UFormattable object
152
+ * @param status the error code - any conversion or format errors
153
+ * @return the value
154
+ * @stable ICU 52
155
+ * @see icu::Formattable::getDouble(UErrorCode&) const
156
+ */
157
+ U_STABLE double U_EXPORT2
158
+ ufmt_getDouble(UFormattable* fmt, UErrorCode *status);
159
+
160
+ /**
161
+ * Gets the long (int32_t) value of this object. If the magnitude is too
162
+ * large to fit in a long, then the maximum or minimum long value,
163
+ * as appropriate, is returned and the status is set to
164
+ * U_INVALID_FORMAT_ERROR. If this object is of type UFMT_INT64 and
165
+ * it fits within a long, then no precision is lost. If it is of
166
+ * type kDouble or kDecimalNumber, then a conversion is peformed, with
167
+ * truncation of any fractional part. If the type is UFMT_OBJECT and
168
+ * the object is a Measure, then the result of
169
+ * getNumber().getLong(status) is returned. If this object is
170
+ * neither a numeric type nor a Measure, then 0 is returned and
171
+ * the status is set to U_INVALID_FORMAT_ERROR.
172
+ * @param fmt the UFormattable object
173
+ * @param status the error code - any conversion or format errors
174
+ * @return the value
175
+ * @stable ICU 52
176
+ * @see icu::Formattable::getLong(UErrorCode&) const
177
+ */
178
+ U_STABLE int32_t U_EXPORT2
179
+ ufmt_getLong(UFormattable* fmt, UErrorCode *status);
180
+
181
+
182
+ /**
183
+ * Gets the int64_t value of this object. If this object is of a numeric
184
+ * type and the magnitude is too large to fit in an int64, then
185
+ * the maximum or minimum int64 value, as appropriate, is returned
186
+ * and the status is set to U_INVALID_FORMAT_ERROR. If the
187
+ * magnitude fits in an int64, then a casting conversion is
188
+ * peformed, with truncation of any fractional part. If the type
189
+ * is UFMT_OBJECT and the object is a Measure, then the result of
190
+ * getNumber().getDouble(status) is returned. If this object is
191
+ * neither a numeric type nor a Measure, then 0 is returned and
192
+ * the status is set to U_INVALID_FORMAT_ERROR.
193
+ * @param fmt the UFormattable object
194
+ * @param status the error code - any conversion or format errors
195
+ * @return the value
196
+ * @stable ICU 52
197
+ * @see icu::Formattable::getInt64(UErrorCode&) const
198
+ */
199
+ U_STABLE int64_t U_EXPORT2
200
+ ufmt_getInt64(UFormattable* fmt, UErrorCode *status);
201
+
202
+ /**
203
+ * Returns a pointer to the UObject contained within this
204
+ * formattable (as a const void*), or NULL if this object
205
+ * is not of type UFMT_OBJECT.
206
+ * @param fmt the UFormattable object
207
+ * @param status the error code - any conversion or format errors
208
+ * @return the value as a const void*. It is a polymorphic C++ object.
209
+ * @stable ICU 52
210
+ * @see icu::Formattable::getObject() const
211
+ */
212
+ U_STABLE const void *U_EXPORT2
213
+ ufmt_getObject(const UFormattable* fmt, UErrorCode *status);
214
+
215
+ /**
216
+ * Gets the string value of this object as a UChar string. If the type is not a
217
+ * string, status is set to U_INVALID_FORMAT_ERROR and a NULL pointer is returned.
218
+ * This function is not thread safe and may modify the UFormattable if need be to terminate the string.
219
+ * The returned pointer is not valid if any other functions are called on this UFormattable, or if the UFormattable is closed.
220
+ * @param fmt the UFormattable object
221
+ * @param status the error code - any conversion or format errors
222
+ * @param len if non null, contains the string length on return
223
+ * @return the null terminated string value - must not be referenced after any other functions are called on this UFormattable.
224
+ * @stable ICU 52
225
+ * @see icu::Formattable::getString(UnicodeString&)const
226
+ */
227
+ U_STABLE const UChar* U_EXPORT2
228
+ ufmt_getUChars(UFormattable* fmt, int32_t *len, UErrorCode *status);
229
+
230
+ /**
231
+ * Get the number of array objects contained, if an array type UFMT_ARRAY
232
+ * @param fmt the UFormattable object
233
+ * @param status the error code - any conversion or format errors. U_ILLEGAL_ARGUMENT_ERROR if not an array type.
234
+ * @return the number of array objects or undefined if not an array type
235
+ * @stable ICU 52
236
+ * @see ufmt_getArrayItemByIndex
237
+ */
238
+ U_STABLE int32_t U_EXPORT2
239
+ ufmt_getArrayLength(const UFormattable* fmt, UErrorCode *status);
240
+
241
+ /**
242
+ * Get the specified value from the array of UFormattables. Invalid if the object is not an array type UFMT_ARRAY
243
+ * @param fmt the UFormattable object
244
+ * @param n the number of the array to return (0 based).
245
+ * @param status the error code - any conversion or format errors. Returns an error if n is out of bounds.
246
+ * @return the nth array value, only valid while the containing UFormattable is valid. NULL if not an array.
247
+ * @stable ICU 52
248
+ * @see icu::Formattable::getArray(int32_t&, UErrorCode&) const
249
+ */
250
+ U_STABLE UFormattable * U_EXPORT2
251
+ ufmt_getArrayItemByIndex(UFormattable* fmt, int32_t n, UErrorCode *status);
252
+
253
+ /**
254
+ * Returns a numeric string representation of the number contained within this
255
+ * formattable, or NULL if this object does not contain numeric type.
256
+ * For values obtained by parsing, the returned decimal number retains
257
+ * the full precision and range of the original input, unconstrained by
258
+ * the limits of a double floating point or a 64 bit int.
259
+ *
260
+ * This function is not thread safe, and therfore is not declared const,
261
+ * even though it is logically const.
262
+ * The resulting buffer is owned by the UFormattable and is invalid if any other functions are
263
+ * called on the UFormattable.
264
+ *
265
+ * Possible errors include U_MEMORY_ALLOCATION_ERROR, and
266
+ * U_INVALID_STATE if the formattable object has not been set to
267
+ * a numeric type.
268
+ * @param fmt the UFormattable object
269
+ * @param len if non-null, on exit contains the string length (not including the terminating null)
270
+ * @param status the error code
271
+ * @return the character buffer as a NULL terminated string, which is owned by the object and must not be accessed if any other functions are called on this object.
272
+ * @stable ICU 52
273
+ * @see icu::Formattable::getDecimalNumber(UErrorCode&)
274
+ */
275
+ U_STABLE const char * U_EXPORT2
276
+ ufmt_getDecNumChars(UFormattable *fmt, int32_t *len, UErrorCode *status);
277
+
278
+ #endif
279
+
280
+ #endif