pango 2.2.0-x86-mingw32 → 2.2.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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,413 @@
1
+ /*
2
+ **********************************************************************
3
+ * Copyright (C) 2005-2013, International Business Machines
4
+ * Corporation and others. All Rights Reserved.
5
+ **********************************************************************
6
+ * file name: ucsdet.h
7
+ * encoding: US-ASCII
8
+ * indentation:4
9
+ *
10
+ * created on: 2005Aug04
11
+ * created by: Andy Heninger
12
+ *
13
+ * ICU Character Set Detection, API for C
14
+ *
15
+ * Draft version 18 Oct 2005
16
+ *
17
+ */
18
+
19
+ #ifndef __UCSDET_H
20
+ #define __UCSDET_H
21
+
22
+ #include "unicode/utypes.h"
23
+
24
+ #if !UCONFIG_NO_CONVERSION
25
+
26
+ #include "unicode/localpointer.h"
27
+ #include "unicode/uenum.h"
28
+
29
+ /**
30
+ * \file
31
+ * \brief C API: Charset Detection API
32
+ *
33
+ * This API provides a facility for detecting the
34
+ * charset or encoding of character data in an unknown text format.
35
+ * The input data can be from an array of bytes.
36
+ * <p>
37
+ * Character set detection is at best an imprecise operation. The detection
38
+ * process will attempt to identify the charset that best matches the characteristics
39
+ * of the byte data, but the process is partly statistical in nature, and
40
+ * the results can not be guaranteed to always be correct.
41
+ * <p>
42
+ * For best accuracy in charset detection, the input data should be primarily
43
+ * in a single language, and a minimum of a few hundred bytes worth of plain text
44
+ * in the language are needed. The detection process will attempt to
45
+ * ignore html or xml style markup that could otherwise obscure the content.
46
+ */
47
+
48
+
49
+ struct UCharsetDetector;
50
+ /**
51
+ * Structure representing a charset detector
52
+ * @stable ICU 3.6
53
+ */
54
+ typedef struct UCharsetDetector UCharsetDetector;
55
+
56
+ struct UCharsetMatch;
57
+ /**
58
+ * Opaque structure representing a match that was identified
59
+ * from a charset detection operation.
60
+ * @stable ICU 3.6
61
+ */
62
+ typedef struct UCharsetMatch UCharsetMatch;
63
+
64
+ /**
65
+ * Open a charset detector.
66
+ *
67
+ * @param status Any error conditions occurring during the open
68
+ * operation are reported back in this variable.
69
+ * @return the newly opened charset detector.
70
+ * @stable ICU 3.6
71
+ */
72
+ U_STABLE UCharsetDetector * U_EXPORT2
73
+ ucsdet_open(UErrorCode *status);
74
+
75
+ /**
76
+ * Close a charset detector. All storage and any other resources
77
+ * owned by this charset detector will be released. Failure to
78
+ * close a charset detector when finished with it can result in
79
+ * memory leaks in the application.
80
+ *
81
+ * @param ucsd The charset detector to be closed.
82
+ * @stable ICU 3.6
83
+ */
84
+ U_STABLE void U_EXPORT2
85
+ ucsdet_close(UCharsetDetector *ucsd);
86
+
87
+ #if U_SHOW_CPLUSPLUS_API
88
+
89
+ U_NAMESPACE_BEGIN
90
+
91
+ /**
92
+ * \class LocalUCharsetDetectorPointer
93
+ * "Smart pointer" class, closes a UCharsetDetector via ucsdet_close().
94
+ * For most methods see the LocalPointerBase base class.
95
+ *
96
+ * @see LocalPointerBase
97
+ * @see LocalPointer
98
+ * @stable ICU 4.4
99
+ */
100
+ U_DEFINE_LOCAL_OPEN_POINTER(LocalUCharsetDetectorPointer, UCharsetDetector, ucsdet_close);
101
+
102
+ U_NAMESPACE_END
103
+
104
+ #endif
105
+
106
+ /**
107
+ * Set the input byte data whose charset is to detected.
108
+ *
109
+ * Ownership of the input text byte array remains with the caller.
110
+ * The input string must not be altered or deleted until the charset
111
+ * detector is either closed or reset to refer to different input text.
112
+ *
113
+ * @param ucsd the charset detector to be used.
114
+ * @param textIn the input text of unknown encoding. .
115
+ * @param len the length of the input text, or -1 if the text
116
+ * is NUL terminated.
117
+ * @param status any error conditions are reported back in this variable.
118
+ *
119
+ * @stable ICU 3.6
120
+ */
121
+ U_STABLE void U_EXPORT2
122
+ ucsdet_setText(UCharsetDetector *ucsd, const char *textIn, int32_t len, UErrorCode *status);
123
+
124
+
125
+ /** Set the declared encoding for charset detection.
126
+ * The declared encoding of an input text is an encoding obtained
127
+ * by the user from an http header or xml declaration or similar source that
128
+ * can be provided as an additional hint to the charset detector.
129
+ *
130
+ * How and whether the declared encoding will be used during the
131
+ * detection process is TBD.
132
+ *
133
+ * @param ucsd the charset detector to be used.
134
+ * @param encoding an encoding for the current data obtained from
135
+ * a header or declaration or other source outside
136
+ * of the byte data itself.
137
+ * @param length the length of the encoding name, or -1 if the name string
138
+ * is NUL terminated.
139
+ * @param status any error conditions are reported back in this variable.
140
+ *
141
+ * @stable ICU 3.6
142
+ */
143
+ U_STABLE void U_EXPORT2
144
+ ucsdet_setDeclaredEncoding(UCharsetDetector *ucsd, const char *encoding, int32_t length, UErrorCode *status);
145
+
146
+
147
+ /**
148
+ * Return the charset that best matches the supplied input data.
149
+ *
150
+ * Note though, that because the detection
151
+ * only looks at the start of the input data,
152
+ * there is a possibility that the returned charset will fail to handle
153
+ * the full set of input data.
154
+ * <p>
155
+ * The returned UCharsetMatch object is owned by the UCharsetDetector.
156
+ * It will remain valid until the detector input is reset, or until
157
+ * the detector is closed.
158
+ * <p>
159
+ * The function will fail if
160
+ * <ul>
161
+ * <li>no charset appears to match the data.</li>
162
+ * <li>no input text has been provided</li>
163
+ * </ul>
164
+ *
165
+ * @param ucsd the charset detector to be used.
166
+ * @param status any error conditions are reported back in this variable.
167
+ * @return a UCharsetMatch representing the best matching charset,
168
+ * or NULL if no charset matches the byte data.
169
+ *
170
+ * @stable ICU 3.6
171
+ */
172
+ U_STABLE const UCharsetMatch * U_EXPORT2
173
+ ucsdet_detect(UCharsetDetector *ucsd, UErrorCode *status);
174
+
175
+
176
+ /**
177
+ * Find all charset matches that appear to be consistent with the input,
178
+ * returning an array of results. The results are ordered with the
179
+ * best quality match first.
180
+ *
181
+ * Because the detection only looks at a limited amount of the
182
+ * input byte data, some of the returned charsets may fail to handle
183
+ * the all of input data.
184
+ * <p>
185
+ * The returned UCharsetMatch objects are owned by the UCharsetDetector.
186
+ * They will remain valid until the detector is closed or modified
187
+ *
188
+ * <p>
189
+ * Return an error if
190
+ * <ul>
191
+ * <li>no charsets appear to match the input data.</li>
192
+ * <li>no input text has been provided</li>
193
+ * </ul>
194
+ *
195
+ * @param ucsd the charset detector to be used.
196
+ * @param matchesFound pointer to a variable that will be set to the
197
+ * number of charsets identified that are consistent with
198
+ * the input data. Output only.
199
+ * @param status any error conditions are reported back in this variable.
200
+ * @return A pointer to an array of pointers to UCharSetMatch objects.
201
+ * This array, and the UCharSetMatch instances to which it refers,
202
+ * are owned by the UCharsetDetector, and will remain valid until
203
+ * the detector is closed or modified.
204
+ * @stable ICU 3.6
205
+ */
206
+ U_STABLE const UCharsetMatch ** U_EXPORT2
207
+ ucsdet_detectAll(UCharsetDetector *ucsd, int32_t *matchesFound, UErrorCode *status);
208
+
209
+
210
+
211
+ /**
212
+ * Get the name of the charset represented by a UCharsetMatch.
213
+ *
214
+ * The storage for the returned name string is owned by the
215
+ * UCharsetMatch, and will remain valid while the UCharsetMatch
216
+ * is valid.
217
+ *
218
+ * The name returned is suitable for use with the ICU conversion APIs.
219
+ *
220
+ * @param ucsm The charset match object.
221
+ * @param status Any error conditions are reported back in this variable.
222
+ * @return The name of the matching charset.
223
+ *
224
+ * @stable ICU 3.6
225
+ */
226
+ U_STABLE const char * U_EXPORT2
227
+ ucsdet_getName(const UCharsetMatch *ucsm, UErrorCode *status);
228
+
229
+ /**
230
+ * Get a confidence number for the quality of the match of the byte
231
+ * data with the charset. Confidence numbers range from zero to 100,
232
+ * with 100 representing complete confidence and zero representing
233
+ * no confidence.
234
+ *
235
+ * The confidence values are somewhat arbitrary. They define an
236
+ * an ordering within the results for any single detection operation
237
+ * but are not generally comparable between the results for different input.
238
+ *
239
+ * A confidence value of ten does have a general meaning - it is used
240
+ * for charsets that can represent the input data, but for which there
241
+ * is no other indication that suggests that the charset is the correct one.
242
+ * Pure 7 bit ASCII data, for example, is compatible with a
243
+ * great many charsets, most of which will appear as possible matches
244
+ * with a confidence of 10.
245
+ *
246
+ * @param ucsm The charset match object.
247
+ * @param status Any error conditions are reported back in this variable.
248
+ * @return A confidence number for the charset match.
249
+ *
250
+ * @stable ICU 3.6
251
+ */
252
+ U_STABLE int32_t U_EXPORT2
253
+ ucsdet_getConfidence(const UCharsetMatch *ucsm, UErrorCode *status);
254
+
255
+ /**
256
+ * Get the RFC 3066 code for the language of the input data.
257
+ *
258
+ * The Charset Detection service is intended primarily for detecting
259
+ * charsets, not language. For some, but not all, charsets, a language is
260
+ * identified as a byproduct of the detection process, and that is what
261
+ * is returned by this function.
262
+ *
263
+ * CAUTION:
264
+ * 1. Language information is not available for input data encoded in
265
+ * all charsets. In particular, no language is identified
266
+ * for UTF-8 input data.
267
+ *
268
+ * 2. Closely related languages may sometimes be confused.
269
+ *
270
+ * If more accurate language detection is required, a linguistic
271
+ * analysis package should be used.
272
+ *
273
+ * The storage for the returned name string is owned by the
274
+ * UCharsetMatch, and will remain valid while the UCharsetMatch
275
+ * is valid.
276
+ *
277
+ * @param ucsm The charset match object.
278
+ * @param status Any error conditions are reported back in this variable.
279
+ * @return The RFC 3066 code for the language of the input data, or
280
+ * an empty string if the language could not be determined.
281
+ *
282
+ * @stable ICU 3.6
283
+ */
284
+ U_STABLE const char * U_EXPORT2
285
+ ucsdet_getLanguage(const UCharsetMatch *ucsm, UErrorCode *status);
286
+
287
+
288
+ /**
289
+ * Get the entire input text as a UChar string, placing it into
290
+ * a caller-supplied buffer. A terminating
291
+ * NUL character will be appended to the buffer if space is available.
292
+ *
293
+ * The number of UChars in the output string, not including the terminating
294
+ * NUL, is returned.
295
+ *
296
+ * If the supplied buffer is smaller than required to hold the output,
297
+ * the contents of the buffer are undefined. The full output string length
298
+ * (in UChars) is returned as always, and can be used to allocate a buffer
299
+ * of the correct size.
300
+ *
301
+ *
302
+ * @param ucsm The charset match object.
303
+ * @param buf A UChar buffer to be filled with the converted text data.
304
+ * @param cap The capacity of the buffer in UChars.
305
+ * @param status Any error conditions are reported back in this variable.
306
+ * @return The number of UChars in the output string.
307
+ *
308
+ * @stable ICU 3.6
309
+ */
310
+ U_STABLE int32_t U_EXPORT2
311
+ ucsdet_getUChars(const UCharsetMatch *ucsm,
312
+ UChar *buf, int32_t cap, UErrorCode *status);
313
+
314
+
315
+
316
+ /**
317
+ * Get an iterator over the set of all detectable charsets -
318
+ * over the charsets that are known to the charset detection
319
+ * service.
320
+ *
321
+ * The returned UEnumeration provides access to the names of
322
+ * the charsets.
323
+ *
324
+ * <p>
325
+ * The state of the Charset detector that is passed in does not
326
+ * affect the result of this function, but requiring a valid, open
327
+ * charset detector as a parameter insures that the charset detection
328
+ * service has been safely initialized and that the required detection
329
+ * data is available.
330
+ *
331
+ * <p>
332
+ * <b>Note:</b> Multiple different charset encodings in a same family may use
333
+ * a single shared name in this implementation. For example, this method returns
334
+ * an array including "ISO-8859-1" (ISO Latin 1), but not including "windows-1252"
335
+ * (Windows Latin 1). However, actual detection result could be "windows-1252"
336
+ * when the input data matches Latin 1 code points with any points only available
337
+ * in "windows-1252".
338
+ *
339
+ * @param ucsd a Charset detector.
340
+ * @param status Any error conditions are reported back in this variable.
341
+ * @return an iterator providing access to the detectable charset names.
342
+ * @stable ICU 3.6
343
+ */
344
+ U_STABLE UEnumeration * U_EXPORT2
345
+ ucsdet_getAllDetectableCharsets(const UCharsetDetector *ucsd, UErrorCode *status);
346
+
347
+ /**
348
+ * Test whether input filtering is enabled for this charset detector.
349
+ * Input filtering removes text that appears to be HTML or xml
350
+ * markup from the input before applying the code page detection
351
+ * heuristics.
352
+ *
353
+ * @param ucsd The charset detector to check.
354
+ * @return TRUE if filtering is enabled.
355
+ * @stable ICU 3.6
356
+ */
357
+
358
+ U_STABLE UBool U_EXPORT2
359
+ ucsdet_isInputFilterEnabled(const UCharsetDetector *ucsd);
360
+
361
+
362
+ /**
363
+ * Enable filtering of input text. If filtering is enabled,
364
+ * text within angle brackets ("<" and ">") will be removed
365
+ * before detection, which will remove most HTML or xml markup.
366
+ *
367
+ * @param ucsd the charset detector to be modified.
368
+ * @param filter <code>true</code> to enable input text filtering.
369
+ * @return The previous setting.
370
+ *
371
+ * @stable ICU 3.6
372
+ */
373
+ U_STABLE UBool U_EXPORT2
374
+ ucsdet_enableInputFilter(UCharsetDetector *ucsd, UBool filter);
375
+
376
+ #ifndef U_HIDE_INTERNAL_API
377
+ /**
378
+ * Get an iterator over the set of detectable charsets -
379
+ * over the charsets that are enabled by the specified charset detector.
380
+ *
381
+ * The returned UEnumeration provides access to the names of
382
+ * the charsets.
383
+ *
384
+ * @param ucsd a Charset detector.
385
+ * @param status Any error conditions are reported back in this variable.
386
+ * @return an iterator providing access to the detectable charset names by
387
+ * the specified charset detector.
388
+ * @internal
389
+ */
390
+ U_INTERNAL UEnumeration * U_EXPORT2
391
+ ucsdet_getDetectableCharsets(const UCharsetDetector *ucsd, UErrorCode *status);
392
+
393
+ /**
394
+ * Enable or disable individual charset encoding.
395
+ * A name of charset encoding must be included in the names returned by
396
+ * {@link #getAllDetectableCharsets()}.
397
+ *
398
+ * @param ucsd a Charset detector.
399
+ * @param encoding encoding the name of charset encoding.
400
+ * @param enabled <code>TRUE</code> to enable, or <code>FALSE</code> to disable the
401
+ * charset encoding.
402
+ * @param status receives the return status. When the name of charset encoding
403
+ * is not supported, U_ILLEGAL_ARGUMENT_ERROR is set.
404
+ * @internal
405
+ */
406
+ U_INTERNAL void U_EXPORT2
407
+ ucsdet_setDetectableCharset(UCharsetDetector *ucsd, const char *encoding, UBool enabled, UErrorCode *status);
408
+ #endif /* U_HIDE_INTERNAL_API */
409
+
410
+ #endif
411
+ #endif /* __UCSDET_H */
412
+
413
+
@@ -0,0 +1,424 @@
1
+ /*
2
+ **********************************************************************
3
+ * Copyright (c) 2002-2014, International Business Machines
4
+ * Corporation and others. All Rights Reserved.
5
+ **********************************************************************
6
+ */
7
+ #ifndef _UCURR_H_
8
+ #define _UCURR_H_
9
+
10
+ #include "unicode/utypes.h"
11
+ #include "unicode/uenum.h"
12
+
13
+ /**
14
+ * \file
15
+ * \brief C API: Encapsulates information about a currency.
16
+ */
17
+
18
+ #if !UCONFIG_NO_FORMATTING
19
+
20
+ /**
21
+ * Currency Usage used for Decimal Format
22
+ * @draft ICU 54
23
+ */
24
+ enum UCurrencyUsage {
25
+ #ifndef U_HIDE_DRAFT_API
26
+ /**
27
+ * a setting to specify currency usage which determines currency digit
28
+ * and rounding for standard usage, for example: "50.00 NT$"
29
+ * used as DEFAULT value
30
+ * @draft ICU 54
31
+ */
32
+ UCURR_USAGE_STANDARD=0,
33
+ /**
34
+ * a setting to specify currency usage which determines currency digit
35
+ * and rounding for cash usage, for example: "50 NT$"
36
+ * @draft ICU 54
37
+ */
38
+ UCURR_USAGE_CASH=1,
39
+ #endif /* U_HIDE_DRAFT_API */
40
+ /**
41
+ * One higher than the last enum UCurrencyUsage constant.
42
+ * @draft ICU 54
43
+ */
44
+ UCURR_USAGE_COUNT=2
45
+ };
46
+ typedef enum UCurrencyUsage UCurrencyUsage;
47
+
48
+ /**
49
+ * The ucurr API encapsulates information about a currency, as defined by
50
+ * ISO 4217. A currency is represented by a 3-character string
51
+ * containing its ISO 4217 code. This API can return various data
52
+ * necessary the proper display of a currency:
53
+ *
54
+ * <ul><li>A display symbol, for a specific locale
55
+ * <li>The number of fraction digits to display
56
+ * <li>A rounding increment
57
+ * </ul>
58
+ *
59
+ * The <tt>DecimalFormat</tt> class uses these data to display
60
+ * currencies.
61
+ * @author Alan Liu
62
+ * @since ICU 2.2
63
+ */
64
+
65
+ /**
66
+ * Finds a currency code for the given locale.
67
+ * @param locale the locale for which to retrieve a currency code.
68
+ * Currency can be specified by the "currency" keyword
69
+ * in which case it overrides the default currency code
70
+ * @param buff fill in buffer. Can be NULL for preflighting.
71
+ * @param buffCapacity capacity of the fill in buffer. Can be 0 for
72
+ * preflighting. If it is non-zero, the buff parameter
73
+ * must not be NULL.
74
+ * @param ec error code
75
+ * @return length of the currency string. It should always be 3. If 0,
76
+ * currency couldn't be found or the input values are
77
+ * invalid.
78
+ * @stable ICU 2.8
79
+ */
80
+ U_STABLE int32_t U_EXPORT2
81
+ ucurr_forLocale(const char* locale,
82
+ UChar* buff,
83
+ int32_t buffCapacity,
84
+ UErrorCode* ec);
85
+
86
+ /**
87
+ * Selector constants for ucurr_getName().
88
+ *
89
+ * @see ucurr_getName
90
+ * @stable ICU 2.6
91
+ */
92
+ typedef enum UCurrNameStyle {
93
+ /**
94
+ * Selector for ucurr_getName indicating a symbolic name for a
95
+ * currency, such as "$" for USD.
96
+ * @stable ICU 2.6
97
+ */
98
+ UCURR_SYMBOL_NAME,
99
+
100
+ /**
101
+ * Selector for ucurr_getName indicating the long name for a
102
+ * currency, such as "US Dollar" for USD.
103
+ * @stable ICU 2.6
104
+ */
105
+ UCURR_LONG_NAME
106
+ } UCurrNameStyle;
107
+
108
+ #if !UCONFIG_NO_SERVICE
109
+ /**
110
+ * @stable ICU 2.6
111
+ */
112
+ typedef const void* UCurrRegistryKey;
113
+
114
+ /**
115
+ * Register an (existing) ISO 4217 currency code for the given locale.
116
+ * Only the country code and the two variants EURO and PRE_EURO are
117
+ * recognized.
118
+ * @param isoCode the three-letter ISO 4217 currency code
119
+ * @param locale the locale for which to register this currency code
120
+ * @param status the in/out status code
121
+ * @return a registry key that can be used to unregister this currency code, or NULL
122
+ * if there was an error.
123
+ * @stable ICU 2.6
124
+ */
125
+ U_STABLE UCurrRegistryKey U_EXPORT2
126
+ ucurr_register(const UChar* isoCode,
127
+ const char* locale,
128
+ UErrorCode* status);
129
+ /**
130
+ * Unregister the previously-registered currency definitions using the
131
+ * URegistryKey returned from ucurr_register. Key becomes invalid after
132
+ * a successful call and should not be used again. Any currency
133
+ * that might have been hidden by the original ucurr_register call is
134
+ * restored.
135
+ * @param key the registry key returned by a previous call to ucurr_register
136
+ * @param status the in/out status code, no special meanings are assigned
137
+ * @return TRUE if the currency for this key was successfully unregistered
138
+ * @stable ICU 2.6
139
+ */
140
+ U_STABLE UBool U_EXPORT2
141
+ ucurr_unregister(UCurrRegistryKey key, UErrorCode* status);
142
+ #endif /* UCONFIG_NO_SERVICE */
143
+
144
+ /**
145
+ * Returns the display name for the given currency in the
146
+ * given locale. For example, the display name for the USD
147
+ * currency object in the en_US locale is "$".
148
+ * @param currency null-terminated 3-letter ISO 4217 code
149
+ * @param locale locale in which to display currency
150
+ * @param nameStyle selector for which kind of name to return
151
+ * @param isChoiceFormat fill-in set to TRUE if the returned value
152
+ * is a ChoiceFormat pattern; otherwise it is a static string
153
+ * @param len fill-in parameter to receive length of result
154
+ * @param ec error code
155
+ * @return pointer to display string of 'len' UChars. If the resource
156
+ * data contains no entry for 'currency', then 'currency' itself is
157
+ * returned. If *isChoiceFormat is TRUE, then the result is a
158
+ * ChoiceFormat pattern. Otherwise it is a static string.
159
+ * @stable ICU 2.6
160
+ */
161
+ U_STABLE const UChar* U_EXPORT2
162
+ ucurr_getName(const UChar* currency,
163
+ const char* locale,
164
+ UCurrNameStyle nameStyle,
165
+ UBool* isChoiceFormat,
166
+ int32_t* len,
167
+ UErrorCode* ec);
168
+
169
+ /**
170
+ * Returns the plural name for the given currency in the
171
+ * given locale. For example, the plural name for the USD
172
+ * currency object in the en_US locale is "US dollar" or "US dollars".
173
+ * @param currency null-terminated 3-letter ISO 4217 code
174
+ * @param locale locale in which to display currency
175
+ * @param isChoiceFormat fill-in set to TRUE if the returned value
176
+ * is a ChoiceFormat pattern; otherwise it is a static string
177
+ * @param pluralCount plural count
178
+ * @param len fill-in parameter to receive length of result
179
+ * @param ec error code
180
+ * @return pointer to display string of 'len' UChars. If the resource
181
+ * data contains no entry for 'currency', then 'currency' itself is
182
+ * returned.
183
+ * @stable ICU 4.2
184
+ */
185
+ U_STABLE const UChar* U_EXPORT2
186
+ ucurr_getPluralName(const UChar* currency,
187
+ const char* locale,
188
+ UBool* isChoiceFormat,
189
+ const char* pluralCount,
190
+ int32_t* len,
191
+ UErrorCode* ec);
192
+
193
+ /**
194
+ * Returns the number of the number of fraction digits that should
195
+ * be displayed for the given currency.
196
+ * This is equivalent to ucurr_getDefaultFractionDigitsForUsage(currency,UCURR_USAGE_STANDARD,ec);
197
+ * @param currency null-terminated 3-letter ISO 4217 code
198
+ * @param ec input-output error code
199
+ * @return a non-negative number of fraction digits to be
200
+ * displayed, or 0 if there is an error
201
+ * @stable ICU 3.0
202
+ */
203
+ U_STABLE int32_t U_EXPORT2
204
+ ucurr_getDefaultFractionDigits(const UChar* currency,
205
+ UErrorCode* ec);
206
+
207
+ #ifndef U_HIDE_DRAFT_API
208
+ /**
209
+ * Returns the number of the number of fraction digits that should
210
+ * be displayed for the given currency with usage.
211
+ * @param currency null-terminated 3-letter ISO 4217 code
212
+ * @param usage enum usage for the currency
213
+ * @param ec input-output error code
214
+ * @return a non-negative number of fraction digits to be
215
+ * displayed, or 0 if there is an error
216
+ * @draft ICU 54
217
+ */
218
+ U_DRAFT int32_t U_EXPORT2
219
+ ucurr_getDefaultFractionDigitsForUsage(const UChar* currency,
220
+ const UCurrencyUsage usage,
221
+ UErrorCode* ec);
222
+ #endif /* U_HIDE_DRAFT_API */
223
+
224
+ /**
225
+ * Returns the rounding increment for the given currency, or 0.0 if no
226
+ * rounding is done by the currency.
227
+ * This is equivalent to ucurr_getRoundingIncrementForUsage(currency,UCURR_USAGE_STANDARD,ec);
228
+ * @param currency null-terminated 3-letter ISO 4217 code
229
+ * @param ec input-output error code
230
+ * @return the non-negative rounding increment, or 0.0 if none,
231
+ * or 0.0 if there is an error
232
+ * @stable ICU 3.0
233
+ */
234
+ U_STABLE double U_EXPORT2
235
+ ucurr_getRoundingIncrement(const UChar* currency,
236
+ UErrorCode* ec);
237
+
238
+ #ifndef U_HIDE_DRAFT_API
239
+ /**
240
+ * Returns the rounding increment for the given currency, or 0.0 if no
241
+ * rounding is done by the currency given usage.
242
+ * @param currency null-terminated 3-letter ISO 4217 code
243
+ * @param usage enum usage for the currency
244
+ * @param ec input-output error code
245
+ * @return the non-negative rounding increment, or 0.0 if none,
246
+ * or 0.0 if there is an error
247
+ * @draft ICU 54
248
+ */
249
+ U_DRAFT double U_EXPORT2
250
+ ucurr_getRoundingIncrementForUsage(const UChar* currency,
251
+ const UCurrencyUsage usage,
252
+ UErrorCode* ec);
253
+ #endif /* U_HIDE_DRAFT_API */
254
+
255
+ /**
256
+ * Selector constants for ucurr_openCurrencies().
257
+ *
258
+ * @see ucurr_openCurrencies
259
+ * @stable ICU 3.2
260
+ */
261
+ typedef enum UCurrCurrencyType {
262
+ /**
263
+ * Select all ISO-4217 currency codes.
264
+ * @stable ICU 3.2
265
+ */
266
+ UCURR_ALL = INT32_MAX,
267
+ /**
268
+ * Select only ISO-4217 commonly used currency codes.
269
+ * These currencies can be found in common use, and they usually have
270
+ * bank notes or coins associated with the currency code.
271
+ * This does not include fund codes, precious metals and other
272
+ * various ISO-4217 codes limited to special financial products.
273
+ * @stable ICU 3.2
274
+ */
275
+ UCURR_COMMON = 1,
276
+ /**
277
+ * Select ISO-4217 uncommon currency codes.
278
+ * These codes respresent fund codes, precious metals and other
279
+ * various ISO-4217 codes limited to special financial products.
280
+ * A fund code is a monetary resource associated with a currency.
281
+ * @stable ICU 3.2
282
+ */
283
+ UCURR_UNCOMMON = 2,
284
+ /**
285
+ * Select only deprecated ISO-4217 codes.
286
+ * These codes are no longer in general public use.
287
+ * @stable ICU 3.2
288
+ */
289
+ UCURR_DEPRECATED = 4,
290
+ /**
291
+ * Select only non-deprecated ISO-4217 codes.
292
+ * These codes are in general public use.
293
+ * @stable ICU 3.2
294
+ */
295
+ UCURR_NON_DEPRECATED = 8
296
+ } UCurrCurrencyType;
297
+
298
+ /**
299
+ * Provides a UEnumeration object for listing ISO-4217 codes.
300
+ * @param currType You can use one of several UCurrCurrencyType values for this
301
+ * variable. You can also | (or) them together to get a specific list of
302
+ * currencies. Most people will want to use the (UCURR_CURRENCY|UCURR_NON_DEPRECATED) value to
303
+ * get a list of current currencies.
304
+ * @param pErrorCode Error code
305
+ * @stable ICU 3.2
306
+ */
307
+ U_STABLE UEnumeration * U_EXPORT2
308
+ ucurr_openISOCurrencies(uint32_t currType, UErrorCode *pErrorCode);
309
+
310
+ /**
311
+ * Queries if the given ISO 4217 3-letter code is available on the specified date range.
312
+ *
313
+ * Note: For checking availability of a currency on a specific date, specify the date on both 'from' and 'to'
314
+ *
315
+ * When 'from' is U_DATE_MIN and 'to' is U_DATE_MAX, this method checks if the specified currency is available any time.
316
+ * If 'from' and 'to' are same UDate value, this method checks if the specified currency is available on that date.
317
+ *
318
+ * @param isoCode
319
+ * The ISO 4217 3-letter code.
320
+ *
321
+ * @param from
322
+ * The lower bound of the date range, inclusive. When 'from' is U_DATE_MIN, check the availability
323
+ * of the currency any date before 'to'
324
+ *
325
+ * @param to
326
+ * The upper bound of the date range, inclusive. When 'to' is U_DATE_MAX, check the availability of
327
+ * the currency any date after 'from'
328
+ *
329
+ * @param errorCode
330
+ * ICU error code
331
+ *
332
+ * @return TRUE if the given ISO 4217 3-letter code is supported on the specified date range.
333
+ *
334
+ * @stable ICU 4.8
335
+ */
336
+ U_STABLE UBool U_EXPORT2
337
+ ucurr_isAvailable(const UChar* isoCode,
338
+ UDate from,
339
+ UDate to,
340
+ UErrorCode* errorCode);
341
+
342
+ /**
343
+ * Finds the number of valid currency codes for the
344
+ * given locale and date.
345
+ * @param locale the locale for which to retrieve the
346
+ * currency count.
347
+ * @param date the date for which to retrieve the
348
+ * currency count for the given locale.
349
+ * @param ec error code
350
+ * @return the number of currency codes for the
351
+ * given locale and date. If 0, currency
352
+ * codes couldn't be found for the input
353
+ * values are invalid.
354
+ * @stable ICU 4.0
355
+ */
356
+ U_STABLE int32_t U_EXPORT2
357
+ ucurr_countCurrencies(const char* locale,
358
+ UDate date,
359
+ UErrorCode* ec);
360
+
361
+ /**
362
+ * Finds a currency code for the given locale and date
363
+ * @param locale the locale for which to retrieve a currency code.
364
+ * Currency can be specified by the "currency" keyword
365
+ * in which case it overrides the default currency code
366
+ * @param date the date for which to retrieve a currency code for
367
+ * the given locale.
368
+ * @param index the index within the available list of currency codes
369
+ * for the given locale on the given date.
370
+ * @param buff fill in buffer. Can be NULL for preflighting.
371
+ * @param buffCapacity capacity of the fill in buffer. Can be 0 for
372
+ * preflighting. If it is non-zero, the buff parameter
373
+ * must not be NULL.
374
+ * @param ec error code
375
+ * @return length of the currency string. It should always be 3.
376
+ * If 0, currency couldn't be found or the input values are
377
+ * invalid.
378
+ * @stable ICU 4.0
379
+ */
380
+ U_STABLE int32_t U_EXPORT2
381
+ ucurr_forLocaleAndDate(const char* locale,
382
+ UDate date,
383
+ int32_t index,
384
+ UChar* buff,
385
+ int32_t buffCapacity,
386
+ UErrorCode* ec);
387
+
388
+ /**
389
+ * Given a key and a locale, returns an array of string values in a preferred
390
+ * order that would make a difference. These are all and only those values where
391
+ * the open (creation) of the service with the locale formed from the input locale
392
+ * plus input keyword and that value has different behavior than creation with the
393
+ * input locale alone.
394
+ * @param key one of the keys supported by this service. For now, only
395
+ * "currency" is supported.
396
+ * @param locale the locale
397
+ * @param commonlyUsed if set to true it will return only commonly used values
398
+ * with the given locale in preferred order. Otherwise,
399
+ * it will return all the available values for the locale.
400
+ * @param status error status
401
+ * @return a string enumeration over keyword values for the given key and the locale.
402
+ * @stable ICU 4.2
403
+ */
404
+ U_STABLE UEnumeration* U_EXPORT2
405
+ ucurr_getKeywordValuesForLocale(const char* key,
406
+ const char* locale,
407
+ UBool commonlyUsed,
408
+ UErrorCode* status);
409
+
410
+ /**
411
+ * Returns the ISO 4217 numeric code for the currency.
412
+ * <p>Note: If the ISO 4217 numeric code is not assigned for the currency or
413
+ * the currency is unknown, this function returns 0.
414
+ *
415
+ * @param currency null-terminated 3-letter ISO 4217 code
416
+ * @return The ISO 4217 numeric code of the currency
417
+ * @stable ICU 49
418
+ */
419
+ U_STABLE int32_t U_EXPORT2
420
+ ucurr_getNumericCode(const UChar* currency);
421
+
422
+ #endif /* #if !UCONFIG_NO_FORMATTING */
423
+
424
+ #endif