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,269 @@
1
+ /*
2
+ *******************************************************************************
3
+ *
4
+ * Copyright (C) 2003-2014, International Business Machines
5
+ * Corporation and others. All Rights Reserved.
6
+ *
7
+ *******************************************************************************
8
+ * file name: usprep.h
9
+ * encoding: US-ASCII
10
+ * tab size: 8 (not used)
11
+ * indentation:4
12
+ *
13
+ * created on: 2003jul2
14
+ * created by: Ram Viswanadha
15
+ */
16
+
17
+ #ifndef __USPREP_H__
18
+ #define __USPREP_H__
19
+
20
+ /**
21
+ * \file
22
+ * \brief C API: Implements the StringPrep algorithm.
23
+ */
24
+
25
+ #include "unicode/utypes.h"
26
+ #include "unicode/localpointer.h"
27
+
28
+ /**
29
+ *
30
+ * StringPrep API implements the StingPrep framework as described by RFC 3454.
31
+ * StringPrep prepares Unicode strings for use in network protocols.
32
+ * Profiles of StingPrep are set of rules and data according to with the
33
+ * Unicode Strings are prepared. Each profiles contains tables which describe
34
+ * how a code point should be treated. The tables are broadly classied into
35
+ * <ul>
36
+ * <li> Unassinged Table: Contains code points that are unassigned
37
+ * in the Unicode Version supported by StringPrep. Currently
38
+ * RFC 3454 supports Unicode 3.2. </li>
39
+ * <li> Prohibited Table: Contains code points that are prohibted from
40
+ * the output of the StringPrep processing function. </li>
41
+ * <li> Mapping Table: Contains code ponts that are deleted from the output or case mapped. </li>
42
+ * </ul>
43
+ *
44
+ * The procedure for preparing Unicode strings:
45
+ * <ol>
46
+ * <li> Map: For each character in the input, check if it has a mapping
47
+ * and, if so, replace it with its mapping. </li>
48
+ * <li> Normalize: Possibly normalize the result of step 1 using Unicode
49
+ * normalization. </li>
50
+ * <li> Prohibit: Check for any characters that are not allowed in the
51
+ * output. If any are found, return an error.</li>
52
+ * <li> Check bidi: Possibly check for right-to-left characters, and if
53
+ * any are found, make sure that the whole string satisfies the
54
+ * requirements for bidirectional strings. If the string does not
55
+ * satisfy the requirements for bidirectional strings, return an
56
+ * error. </li>
57
+ * </ol>
58
+ * @author Ram Viswanadha
59
+ */
60
+ #if !UCONFIG_NO_IDNA
61
+
62
+ #include "unicode/parseerr.h"
63
+
64
+ /**
65
+ * The StringPrep profile
66
+ * @stable ICU 2.8
67
+ */
68
+ typedef struct UStringPrepProfile UStringPrepProfile;
69
+
70
+
71
+ /**
72
+ * Option to prohibit processing of unassigned code points in the input
73
+ *
74
+ * @see usprep_prepare
75
+ * @stable ICU 2.8
76
+ */
77
+ #define USPREP_DEFAULT 0x0000
78
+
79
+ /**
80
+ * Option to allow processing of unassigned code points in the input
81
+ *
82
+ * @see usprep_prepare
83
+ * @stable ICU 2.8
84
+ */
85
+ #define USPREP_ALLOW_UNASSIGNED 0x0001
86
+
87
+ /**
88
+ * enums for the standard stringprep profile types
89
+ * supported by usprep_openByType.
90
+ * @see usprep_openByType
91
+ * @stable ICU 4.2
92
+ */
93
+ typedef enum UStringPrepProfileType {
94
+ /**
95
+ * RFC3491 Nameprep
96
+ * @stable ICU 4.2
97
+ */
98
+ USPREP_RFC3491_NAMEPREP,
99
+ /**
100
+ * RFC3530 nfs4_cs_prep
101
+ * @stable ICU 4.2
102
+ */
103
+ USPREP_RFC3530_NFS4_CS_PREP,
104
+ /**
105
+ * RFC3530 nfs4_cs_prep with case insensitive option
106
+ * @stable ICU 4.2
107
+ */
108
+ USPREP_RFC3530_NFS4_CS_PREP_CI,
109
+ /**
110
+ * RFC3530 nfs4_cis_prep
111
+ * @stable ICU 4.2
112
+ */
113
+ USPREP_RFC3530_NFS4_CIS_PREP,
114
+ /**
115
+ * RFC3530 nfs4_mixed_prep for prefix
116
+ * @stable ICU 4.2
117
+ */
118
+ USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX,
119
+ /**
120
+ * RFC3530 nfs4_mixed_prep for suffix
121
+ * @stable ICU 4.2
122
+ */
123
+ USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX,
124
+ /**
125
+ * RFC3722 iSCSI
126
+ * @stable ICU 4.2
127
+ */
128
+ USPREP_RFC3722_ISCSI,
129
+ /**
130
+ * RFC3920 XMPP Nodeprep
131
+ * @stable ICU 4.2
132
+ */
133
+ USPREP_RFC3920_NODEPREP,
134
+ /**
135
+ * RFC3920 XMPP Resourceprep
136
+ * @stable ICU 4.2
137
+ */
138
+ USPREP_RFC3920_RESOURCEPREP,
139
+ /**
140
+ * RFC4011 Policy MIB Stringprep
141
+ * @stable ICU 4.2
142
+ */
143
+ USPREP_RFC4011_MIB,
144
+ /**
145
+ * RFC4013 SASLprep
146
+ * @stable ICU 4.2
147
+ */
148
+ USPREP_RFC4013_SASLPREP,
149
+ /**
150
+ * RFC4505 trace
151
+ * @stable ICU 4.2
152
+ */
153
+ USPREP_RFC4505_TRACE,
154
+ /**
155
+ * RFC4518 LDAP
156
+ * @stable ICU 4.2
157
+ */
158
+ USPREP_RFC4518_LDAP,
159
+ /**
160
+ * RFC4518 LDAP for case ignore, numeric and stored prefix
161
+ * matching rules
162
+ * @stable ICU 4.2
163
+ */
164
+ USPREP_RFC4518_LDAP_CI
165
+ } UStringPrepProfileType;
166
+
167
+ /**
168
+ * Creates a StringPrep profile from the data file.
169
+ *
170
+ * @param path string containing the full path pointing to the directory
171
+ * where the profile reside followed by the package name
172
+ * e.g. "/usr/resource/my_app/profiles/mydata" on a Unix system.
173
+ * if NULL, ICU default data files will be used.
174
+ * @param fileName name of the profile file to be opened
175
+ * @param status ICU error code in/out parameter. Must not be NULL.
176
+ * Must fulfill U_SUCCESS before the function call.
177
+ * @return Pointer to UStringPrepProfile that is opened. Should be closed by
178
+ * calling usprep_close()
179
+ * @see usprep_close()
180
+ * @stable ICU 2.8
181
+ */
182
+ U_STABLE UStringPrepProfile* U_EXPORT2
183
+ usprep_open(const char* path,
184
+ const char* fileName,
185
+ UErrorCode* status);
186
+
187
+ /**
188
+ * Creates a StringPrep profile for the specified profile type.
189
+ *
190
+ * @param type The profile type
191
+ * @param status ICU error code in/out parameter. Must not be NULL.
192
+ * Must fulfill U_SUCCESS before the function call.
193
+ * @return Pointer to UStringPrepProfile that is opened. Should be closed by
194
+ * calling usprep_close()
195
+ * @see usprep_close()
196
+ * @stable ICU 4.2
197
+ */
198
+ U_STABLE UStringPrepProfile* U_EXPORT2
199
+ usprep_openByType(UStringPrepProfileType type,
200
+ UErrorCode* status);
201
+
202
+ /**
203
+ * Closes the profile
204
+ * @param profile The profile to close
205
+ * @stable ICU 2.8
206
+ */
207
+ U_STABLE void U_EXPORT2
208
+ usprep_close(UStringPrepProfile* profile);
209
+
210
+ #if U_SHOW_CPLUSPLUS_API
211
+
212
+ U_NAMESPACE_BEGIN
213
+
214
+ /**
215
+ * \class LocalUStringPrepProfilePointer
216
+ * "Smart pointer" class, closes a UStringPrepProfile via usprep_close().
217
+ * For most methods see the LocalPointerBase base class.
218
+ *
219
+ * @see LocalPointerBase
220
+ * @see LocalPointer
221
+ * @stable ICU 4.4
222
+ */
223
+ U_DEFINE_LOCAL_OPEN_POINTER(LocalUStringPrepProfilePointer, UStringPrepProfile, usprep_close);
224
+
225
+ U_NAMESPACE_END
226
+
227
+ #endif
228
+
229
+ /**
230
+ * Prepare the input buffer for use in applications with the given profile. This operation maps, normalizes(NFKC),
231
+ * checks for prohited and BiDi characters in the order defined by RFC 3454
232
+ * depending on the options specified in the profile.
233
+ *
234
+ * @param prep The profile to use
235
+ * @param src Pointer to UChar buffer containing the string to prepare
236
+ * @param srcLength Number of characters in the source string
237
+ * @param dest Pointer to the destination buffer to receive the output
238
+ * @param destCapacity The capacity of destination array
239
+ * @param options A bit set of options:
240
+ *
241
+ * - USPREP_DEFAULT Prohibit processing of unassigned code points in the input
242
+ *
243
+ * - USPREP_ALLOW_UNASSIGNED Treat the unassigned code points are in the input
244
+ * as normal Unicode code points.
245
+ *
246
+ * @param parseError Pointer to UParseError struct to receive information on position
247
+ * of error if an error is encountered. Can be NULL.
248
+ * @param status ICU in/out error code parameter.
249
+ * U_INVALID_CHAR_FOUND if src contains
250
+ * unmatched single surrogates.
251
+ * U_INDEX_OUTOFBOUNDS_ERROR if src contains
252
+ * too many code points.
253
+ * U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough
254
+ * @return The number of UChars in the destination buffer
255
+ * @stable ICU 2.8
256
+ */
257
+
258
+ U_STABLE int32_t U_EXPORT2
259
+ usprep_prepare( const UStringPrepProfile* prep,
260
+ const UChar* src, int32_t srcLength,
261
+ UChar* dest, int32_t destCapacity,
262
+ int32_t options,
263
+ UParseError* parseError,
264
+ UErrorCode* status );
265
+
266
+
267
+ #endif /* #if !UCONFIG_NO_IDNA */
268
+
269
+ #endif
@@ -0,0 +1,1018 @@
1
+ /*
2
+ ******************************************************************************
3
+ *
4
+ * Copyright (C) 1998-2014, International Business Machines
5
+ * Corporation and others. All Rights Reserved.
6
+ *
7
+ ******************************************************************************
8
+ *
9
+ * File ustdio.h
10
+ *
11
+ * Modification History:
12
+ *
13
+ * Date Name Description
14
+ * 10/16/98 stephen Creation.
15
+ * 11/06/98 stephen Modified per code review.
16
+ * 03/12/99 stephen Modified for new C API.
17
+ * 07/19/99 stephen Minor doc update.
18
+ * 02/01/01 george Added sprintf & sscanf with all of its variants
19
+ ******************************************************************************
20
+ */
21
+
22
+ #ifndef USTDIO_H
23
+ #define USTDIO_H
24
+
25
+ #include <stdio.h>
26
+ #include <stdarg.h>
27
+
28
+ #include "unicode/utypes.h"
29
+ #include "unicode/ucnv.h"
30
+ #include "unicode/utrans.h"
31
+ #include "unicode/localpointer.h"
32
+ #include "unicode/unum.h"
33
+
34
+ #if !UCONFIG_NO_CONVERSION
35
+
36
+ /*
37
+ TODO
38
+ The following is a small list as to what is currently wrong/suggestions for
39
+ ustdio.
40
+
41
+ * Make sure that * in the scanf format specification works for all formats.
42
+ * Each UFILE takes up at least 2KB.
43
+ Look into adding setvbuf() for configurable buffers.
44
+ * This library does buffering. The OS should do this for us already. Check on
45
+ this, and remove it from this library, if this is the case. Double buffering
46
+ wastes a lot of time and space.
47
+ * Test stdin and stdout with the u_f* functions
48
+ * Testing should be done for reading and writing multi-byte encodings,
49
+ and make sure that a character that is contained across buffer boundries
50
+ works even for incomplete characters.
51
+ * Make sure that the last character is flushed when the file/string is closed.
52
+ * snprintf should follow the C99 standard for the return value, which is
53
+ return the number of characters (excluding the trailing '\0')
54
+ which would have been written to the destination string regardless
55
+ of available space. This is like pre-flighting.
56
+ * Everything that uses %s should do what operator>> does for UnicodeString.
57
+ It should convert one byte at a time, and once a character is
58
+ converted then check to see if it's whitespace or in the scanset.
59
+ If it's whitespace or in the scanset, put all the bytes back (do nothing
60
+ for sprintf/sscanf).
61
+ * If bad string data is encountered, make sure that the function fails
62
+ without memory leaks and the unconvertable characters are valid
63
+ substitution or are escaped characters.
64
+ * u_fungetc() can't unget a character when it's at the beginning of the
65
+ internal conversion buffer. For example, read the buffer size # of
66
+ characters, and then ungetc to get the previous character that was
67
+ at the end of the last buffer.
68
+ * u_fflush() and u_fclose should return an int32_t like C99 functions.
69
+ 0 is returned if the operation was successful and EOF otherwise.
70
+ * u_fsettransliterator does not support U_READ side of transliteration.
71
+ * The format specifier should limit the size of a format or honor it in
72
+ order to prevent buffer overruns. (e.g. %256.256d).
73
+ * u_fread and u_fwrite don't exist. They're needed for reading and writing
74
+ data structures without any conversion.
75
+ * u_file_read and u_file_write are used for writing strings. u_fgets and
76
+ u_fputs or u_fread and u_fwrite should be used to do this.
77
+ * The width parameter for all scanf formats, including scanset, needs
78
+ better testing. This prevents buffer overflows.
79
+ * Figure out what is suppose to happen when a codepage is changed midstream.
80
+ Maybe a flush or a rewind are good enough.
81
+ * Make sure that a UFile opened with "rw" can be used after using
82
+ u_fflush with a u_frewind.
83
+ * scanf(%i) should detect what type of number to use.
84
+ * Add more testing of the alternate format, %#
85
+ * Look at newline handling of fputs/puts
86
+ * Think more about codeunit/codepoint error handling/support in %S,%s,%C,%c,%[]
87
+ * Complete the file documentation with proper doxygen formatting.
88
+ See http://oss.software.ibm.com/pipermail/icu/2003-July/005647.html
89
+ */
90
+
91
+ /**
92
+ * \file
93
+ * \brief C API: Unicode stdio-like API
94
+ *
95
+ * <h2>Unicode stdio-like C API</h2>
96
+ *
97
+ * <p>This API provides an stdio-like API wrapper around ICU's other
98
+ * formatting and parsing APIs. It is meant to ease the transition of adding
99
+ * Unicode support to a preexisting applications using stdio. The following
100
+ * is a small list of noticable differences between stdio and ICU I/O's
101
+ * ustdio implementation.</p>
102
+ *
103
+ * <ul>
104
+ * <li>Locale specific formatting and parsing is only done with file IO.</li>
105
+ * <li>u_fstropen can be used to simulate file IO with strings.
106
+ * This is similar to the iostream API, and it allows locale specific
107
+ * formatting and parsing to be used.</li>
108
+ * <li>This API provides uniform formatting and parsing behavior between
109
+ * platforms (unlike the standard stdio implementations found on various
110
+ * platforms).</li>
111
+ * <li>This API is better suited for text data handling than binary data
112
+ * handling when compared to the typical stdio implementation.</li>
113
+ * <li>You can specify a Transliterator while using the file IO.</li>
114
+ * <li>You can specify a file's codepage separately from the default
115
+ * system codepage.</li>
116
+ * </ul>
117
+ *
118
+ * <h2>Formatting and Parsing Specification</h2>
119
+ *
120
+ * General printf format:<br>
121
+ * %[format modifier][width][.precision][type modifier][format]
122
+ *
123
+ * General scanf format:<br>
124
+ * %[*][format modifier][width][type modifier][format]
125
+ *
126
+ <table cellspacing="3">
127
+ <tr><td>format</td><td>default<br>printf<br>type</td><td>default<br>scanf<br>type</td><td>description</td></tr>
128
+ <tr><td>%E</td><td>double</td><td>float</td><td>Scientific with an uppercase exponent</td></tr>
129
+ <tr><td>%e</td><td>double</td><td>float</td><td>Scientific with a lowercase exponent</td></tr>
130
+ <tr><td>%G</td><td>double</td><td>float</td><td>Use %E or %f for best format</td></tr>
131
+ <tr><td>%g</td><td>double</td><td>float</td><td>Use %e or %f for best format</td></tr>
132
+ <tr><td>%f</td><td>double</td><td>float</td><td>Simple floating point without the exponent</td></tr>
133
+ <tr><td>%X</td><td>int32_t</td><td>int32_t</td><td>ustdio special uppercase hex radix formatting</td></tr>
134
+ <tr><td>%x</td><td>int32_t</td><td>int32_t</td><td>ustdio special lowercase hex radix formatting</td></tr>
135
+ <tr><td>%d</td><td>int32_t</td><td>int32_t</td><td>Decimal format</td></tr>
136
+ <tr><td>%i</td><td>int32_t</td><td>int32_t</td><td>Same as %d</td></tr>
137
+ <tr><td>%n</td><td>int32_t</td><td>int32_t</td><td>count (write the number of UTF-16 codeunits read/written)</td></tr>
138
+ <tr><td>%o</td><td>int32_t</td><td>int32_t</td><td>ustdio special octal radix formatting</td></tr>
139
+ <tr><td>%u</td><td>uint32_t</td><td>uint32_t</td><td>Decimal format</td></tr>
140
+ <tr><td>%p</td><td>void *</td><td>void *</td><td>Prints the pointer value</td></tr>
141
+ <tr><td>%s</td><td>char *</td><td>char *</td><td>Use default converter or specified converter from fopen</td></tr>
142
+ <tr><td>%c</td><td>char</td><td>char</td><td>Use default converter or specified converter from fopen<br>
143
+ When width is specified for scanf, this acts like a non-NULL-terminated char * string.<br>
144
+ By default, only one char is written.</td></tr>
145
+ <tr><td>%S</td><td>UChar *</td><td>UChar *</td><td>Null terminated UTF-16 string</td></tr>
146
+ <tr><td>%C</td><td>UChar</td><td>UChar</td><td>16-bit Unicode code unit<br>
147
+ When width is specified for scanf, this acts like a non-NULL-terminated UChar * string<br>
148
+ By default, only one codepoint is written.</td></tr>
149
+ <tr><td>%[]</td><td>&nbsp;</td><td>UChar *</td><td>Null terminated UTF-16 string which contains the filtered set of characters specified by the UnicodeSet</td></tr>
150
+ <tr><td>%%</td><td>&nbsp;</td><td>&nbsp;</td><td>Show a percent sign</td></tr>
151
+ </table>
152
+
153
+ Format modifiers
154
+ <table>
155
+ <tr><td>modifier</td><td>formats</td><td>type</td><td>comments</td></tr>
156
+ <tr><td>%h</td><td>%d, %i, %o, %x</td><td>int16_t</td><td>short format</td></tr>
157
+ <tr><td>%h</td><td>%u</td><td>uint16_t</td><td>short format</td></tr>
158
+ <tr><td>%h</td><td>c</td><td>char</td><td><b>(Unimplemented)</b> Use invariant converter</td></tr>
159
+ <tr><td>%h</td><td>s</td><td>char *</td><td><b>(Unimplemented)</b> Use invariant converter</td></tr>
160
+ <tr><td>%h</td><td>C</td><td>char</td><td><b>(Unimplemented)</b> 8-bit Unicode code unit</td></tr>
161
+ <tr><td>%h</td><td>S</td><td>char *</td><td><b>(Unimplemented)</b> Null terminated UTF-8 string</td></tr>
162
+ <tr><td>%l</td><td>%d, %i, %o, %x</td><td>int32_t</td><td>long format (no effect)</td></tr>
163
+ <tr><td>%l</td><td>%u</td><td>uint32_t</td><td>long format (no effect)</td></tr>
164
+ <tr><td>%l</td><td>c</td><td>N/A</td><td><b>(Unimplemented)</b> Reserved for future implementation</td></tr>
165
+ <tr><td>%l</td><td>s</td><td>N/A</td><td><b>(Unimplemented)</b> Reserved for future implementation</td></tr>
166
+ <tr><td>%l</td><td>C</td><td>UChar32</td><td><b>(Unimplemented)</b> 32-bit Unicode code unit</td></tr>
167
+ <tr><td>%l</td><td>S</td><td>UChar32 *</td><td><b>(Unimplemented)</b> Null terminated UTF-32 string</td></tr>
168
+ <tr><td>%ll</td><td>%d, %i, %o, %x</td><td>int64_t</td><td>long long format</td></tr>
169
+ <tr><td>%ll</td><td>%u</td><td>uint64_t</td><td><b>(Unimplemented)</b> long long format</td></tr>
170
+ <tr><td>%-</td><td><i>all</i></td><td>N/A</td><td>Left justify</td></tr>
171
+ <tr><td>%+</td><td>%d, %i, %o, %x, %e, %f, %g, %E, %G</td><td>N/A</td><td>Always show the plus or minus sign. Needs data for plus sign.</td></tr>
172
+ <tr><td>% </td><td>%d, %i, %o, %x, %e, %f, %g, %E, %G</td><td>N/A</td><td>Instead of a "+" output a blank character for positive numbers.</td></tr>
173
+ <tr><td>%#</td><td>%d, %i, %o, %x, %e, %f, %g, %E, %G</td><td>N/A</td><td>Precede octal value with 0, hex with 0x and show the
174
+ decimal point for floats.</td></tr>
175
+ <tr><td>%<i>n</i></td><td><i>all</i></td><td>N/A</td><td>Width of input/output. num is an actual number from 0 to
176
+ some large number.</td></tr>
177
+ <tr><td>%.<i>n</i></td><td>%e, %f, %g, %E, %F, %G</td><td>N/A</td><td>Significant digits precision. num is an actual number from
178
+ 0 to some large number.<br>If * is used in printf, then the precision is passed in as an argument before the number to be formatted.</td></tr>
179
+ </table>
180
+
181
+ printf modifier
182
+ %* int32_t Next argument after this one specifies the width
183
+
184
+ scanf modifier
185
+ %* N/A This field is scanned, but not stored
186
+
187
+ <p>If you are using this C API instead of the ustream.h API for C++,
188
+ you can use one of the following u_fprintf examples to display a UnicodeString.</p>
189
+
190
+ <pre><code>
191
+ UFILE *out = u_finit(stdout, NULL, NULL);
192
+ UnicodeString string1("string 1");
193
+ UnicodeString string2("string 2");
194
+ u_fprintf(out, "%S\n", string1.getTerminatedBuffer());
195
+ u_fprintf(out, "%.*S\n", string2.length(), string2.getBuffer());
196
+ u_fclose(out);
197
+ </code></pre>
198
+
199
+ */
200
+
201
+
202
+ /**
203
+ * When an end of file is encountered, this value can be returned.
204
+ * @see u_fgetc
205
+ * @stable 3.0
206
+ */
207
+ #define U_EOF 0xFFFF
208
+
209
+ /** Forward declaration of a Unicode-aware file @stable 3.0 */
210
+ typedef struct UFILE UFILE;
211
+
212
+ /**
213
+ * Enum for which direction of stream a transliterator applies to.
214
+ * @see u_fsettransliterator
215
+ * @stable ICU 3.0
216
+ */
217
+ typedef enum {
218
+ U_READ = 1,
219
+ U_WRITE = 2,
220
+ U_READWRITE =3 /* == (U_READ | U_WRITE) */
221
+ } UFileDirection;
222
+
223
+ /**
224
+ * Open a UFILE.
225
+ * A UFILE is a wrapper around a FILE* that is locale and codepage aware.
226
+ * That is, data written to a UFILE will be formatted using the conventions
227
+ * specified by that UFILE's Locale; this data will be in the character set
228
+ * specified by that UFILE's codepage.
229
+ * @param filename The name of the file to open.
230
+ * @param perm The read/write permission for the UFILE; one of "r", "w", "rw"
231
+ * @param locale The locale whose conventions will be used to format
232
+ * and parse output. If this parameter is NULL, the default locale will
233
+ * be used.
234
+ * @param codepage The codepage in which data will be written to and
235
+ * read from the file. If this paramter is NULL the system default codepage
236
+ * will be used.
237
+ * @return A new UFILE, or NULL if an error occurred.
238
+ * @stable ICU 3.0
239
+ */
240
+ U_STABLE UFILE* U_EXPORT2
241
+ u_fopen(const char *filename,
242
+ const char *perm,
243
+ const char *locale,
244
+ const char *codepage);
245
+
246
+ #ifndef U_HIDE_DRAFT_API
247
+ /**
248
+ * Open a UFILE with a UChar* filename
249
+ * A UFILE is a wrapper around a FILE* that is locale and codepage aware.
250
+ * That is, data written to a UFILE will be formatted using the conventions
251
+ * specified by that UFILE's Locale; this data will be in the character set
252
+ * specified by that UFILE's codepage.
253
+ * @param filename The name of the file to open.
254
+ * @param perm The read/write permission for the UFILE; one of "r", "w", "rw"
255
+ * @param locale The locale whose conventions will be used to format
256
+ * and parse output. If this parameter is NULL, the default locale will
257
+ * be used.
258
+ * @param codepage The codepage in which data will be written to and
259
+ * read from the file. If this paramter is NULL the system default codepage
260
+ * will be used.
261
+ * @return A new UFILE, or NULL if an error occurred.
262
+ * @draft ICU 54
263
+ */
264
+ U_DRAFT UFILE* U_EXPORT2
265
+ u_fopen_u(const UChar *filename,
266
+ const char *perm,
267
+ const char *locale,
268
+ const char *codepage);
269
+ #endif /* U_HIDE_DRAFT_API */
270
+
271
+ /**
272
+ * Open a UFILE on top of an existing FILE* stream. The FILE* stream
273
+ * ownership remains with the caller. To have the UFILE take over
274
+ * ownership and responsibility for the FILE* stream, use the
275
+ * function u_fadopt.
276
+ * @param f The FILE* to which this UFILE will attach and use.
277
+ * @param locale The locale whose conventions will be used to format
278
+ * and parse output. If this parameter is NULL, the default locale will
279
+ * be used.
280
+ * @param codepage The codepage in which data will be written to and
281
+ * read from the file. If this paramter is NULL, data will be written and
282
+ * read using the default codepage for <TT>locale</TT>, unless <TT>locale</TT>
283
+ * is NULL, in which case the system default codepage will be used.
284
+ * @return A new UFILE, or NULL if an error occurred.
285
+ * @stable ICU 3.0
286
+ */
287
+ U_STABLE UFILE* U_EXPORT2
288
+ u_finit(FILE *f,
289
+ const char *locale,
290
+ const char *codepage);
291
+
292
+ /**
293
+ * Open a UFILE on top of an existing FILE* stream. The FILE* stream
294
+ * ownership is transferred to the new UFILE. It will be closed when the
295
+ * UFILE is closed.
296
+ * @param f The FILE* which this UFILE will take ownership of.
297
+ * @param locale The locale whose conventions will be used to format
298
+ * and parse output. If this parameter is NULL, the default locale will
299
+ * be used.
300
+ * @param codepage The codepage in which data will be written to and
301
+ * read from the file. If this paramter is NULL, data will be written and
302
+ * read using the default codepage for <TT>locale</TT>, unless <TT>locale</TT>
303
+ * is NULL, in which case the system default codepage will be used.
304
+ * @return A new UFILE, or NULL if an error occurred. If an error occurs
305
+ * the ownership of the FILE* stream remains with the caller.
306
+ * @stable ICU 4.4
307
+ */
308
+ U_STABLE UFILE* U_EXPORT2
309
+ u_fadopt(FILE *f,
310
+ const char *locale,
311
+ const char *codepage);
312
+
313
+ /**
314
+ * Create a UFILE that can be used for localized formatting or parsing.
315
+ * The u_sprintf and u_sscanf functions do not read or write numbers for a
316
+ * specific locale. The ustdio.h file functions can be used on this UFILE.
317
+ * The string is usable once u_fclose or u_fflush has been called on the
318
+ * returned UFILE.
319
+ * @param stringBuf The string used for reading or writing.
320
+ * @param capacity The number of code units available for use in stringBuf
321
+ * @param locale The locale whose conventions will be used to format
322
+ * and parse output. If this parameter is NULL, the default locale will
323
+ * be used.
324
+ * @return A new UFILE, or NULL if an error occurred.
325
+ * @stable ICU 3.0
326
+ */
327
+ U_STABLE UFILE* U_EXPORT2
328
+ u_fstropen(UChar *stringBuf,
329
+ int32_t capacity,
330
+ const char *locale);
331
+
332
+ /**
333
+ * Close a UFILE. Implies u_fflush first.
334
+ * @param file The UFILE to close.
335
+ * @stable ICU 3.0
336
+ * @see u_fflush
337
+ */
338
+ U_STABLE void U_EXPORT2
339
+ u_fclose(UFILE *file);
340
+
341
+ #if U_SHOW_CPLUSPLUS_API
342
+
343
+ U_NAMESPACE_BEGIN
344
+
345
+ /**
346
+ * \class LocalUFILEPointer
347
+ * "Smart pointer" class, closes a UFILE via u_fclose().
348
+ * For most methods see the LocalPointerBase base class.
349
+ *
350
+ * @see LocalPointerBase
351
+ * @see LocalPointer
352
+ * @stable ICU 4.4
353
+ */
354
+ U_DEFINE_LOCAL_OPEN_POINTER(LocalUFILEPointer, UFILE, u_fclose);
355
+
356
+ U_NAMESPACE_END
357
+
358
+ #endif
359
+
360
+ /**
361
+ * Tests if the UFILE is at the end of the file stream.
362
+ * @param f The UFILE from which to read.
363
+ * @return Returns TRUE after the first read operation that attempts to
364
+ * read past the end of the file. It returns FALSE if the current position is
365
+ * not end of file.
366
+ * @stable ICU 3.0
367
+ */
368
+ U_STABLE UBool U_EXPORT2
369
+ u_feof(UFILE *f);
370
+
371
+ /**
372
+ * Flush output of a UFILE. Implies a flush of
373
+ * converter/transliterator state. (That is, a logical break is
374
+ * made in the output stream - for example if a different type of
375
+ * output is desired.) The underlying OS level file is also flushed.
376
+ * Note that for a stateful encoding, the converter may write additional
377
+ * bytes to return the stream to default state.
378
+ * @param file The UFILE to flush.
379
+ * @stable ICU 3.0
380
+ */
381
+ U_STABLE void U_EXPORT2
382
+ u_fflush(UFILE *file);
383
+
384
+ /**
385
+ * Rewind the file pointer to the beginning of the file.
386
+ * @param file The UFILE to rewind.
387
+ * @stable ICU 3.0
388
+ */
389
+ U_STABLE void
390
+ u_frewind(UFILE *file);
391
+
392
+ /**
393
+ * Get the FILE* associated with a UFILE.
394
+ * @param f The UFILE
395
+ * @return A FILE*, owned by the UFILE. (The FILE <EM>must not</EM> be modified or closed)
396
+ * @stable ICU 3.0
397
+ */
398
+ U_STABLE FILE* U_EXPORT2
399
+ u_fgetfile(UFILE *f);
400
+
401
+ #if !UCONFIG_NO_FORMATTING
402
+
403
+ /**
404
+ * Get the locale whose conventions are used to format and parse output.
405
+ * This is the same locale passed in the preceding call to<TT>u_fsetlocale</TT>
406
+ * or <TT>u_fopen</TT>.
407
+ * @param file The UFILE to set.
408
+ * @return The locale whose conventions are used to format and parse output.
409
+ * @stable ICU 3.0
410
+ */
411
+ U_STABLE const char* U_EXPORT2
412
+ u_fgetlocale(UFILE *file);
413
+
414
+ /**
415
+ * Set the locale whose conventions will be used to format and parse output.
416
+ * @param locale The locale whose conventions will be used to format
417
+ * and parse output.
418
+ * @param file The UFILE to query.
419
+ * @return NULL if successful, otherwise a negative number.
420
+ * @stable ICU 3.0
421
+ */
422
+ U_STABLE int32_t U_EXPORT2
423
+ u_fsetlocale(UFILE *file,
424
+ const char *locale);
425
+
426
+ #endif
427
+
428
+ /**
429
+ * Get the codepage in which data is written to and read from the UFILE.
430
+ * This is the same codepage passed in the preceding call to
431
+ * <TT>u_fsetcodepage</TT> or <TT>u_fopen</TT>.
432
+ * @param file The UFILE to query.
433
+ * @return The codepage in which data is written to and read from the UFILE,
434
+ * or NULL if an error occurred.
435
+ * @stable ICU 3.0
436
+ */
437
+ U_STABLE const char* U_EXPORT2
438
+ u_fgetcodepage(UFILE *file);
439
+
440
+ /**
441
+ * Set the codepage in which data will be written to and read from the UFILE.
442
+ * All Unicode data written to the UFILE will be converted to this codepage
443
+ * before it is written to the underlying FILE*. It it generally a bad idea to
444
+ * mix codepages within a file. This should only be called right
445
+ * after opening the <TT>UFile</TT>, or after calling <TT>u_frewind</TT>.
446
+ * @param codepage The codepage in which data will be written to
447
+ * and read from the file. For example <TT>"latin-1"</TT> or <TT>"ibm-943"</TT>.
448
+ * A value of NULL means the default codepage for the UFILE's current
449
+ * locale will be used.
450
+ * @param file The UFILE to set.
451
+ * @return 0 if successful, otherwise a negative number.
452
+ * @see u_frewind
453
+ * @stable ICU 3.0
454
+ */
455
+ U_STABLE int32_t U_EXPORT2
456
+ u_fsetcodepage(const char *codepage,
457
+ UFILE *file);
458
+
459
+
460
+ /**
461
+ * Returns an alias to the converter being used for this file.
462
+ * @param f The UFILE to get the value from
463
+ * @return alias to the converter (The converter <EM>must not</EM> be modified or closed)
464
+ * @stable ICU 3.0
465
+ */
466
+ U_STABLE UConverter* U_EXPORT2 u_fgetConverter(UFILE *f);
467
+
468
+ #if !UCONFIG_NO_FORMATTING
469
+ /**
470
+ * Returns an alias to the number formatter being used for this file.
471
+ * @param f The UFILE to get the value from
472
+ * @return alias to the number formatter (The formatter <EM>must not</EM> be modified or closed)
473
+ * @stable ICU 51
474
+ */
475
+ U_STABLE const UNumberFormat* U_EXPORT2 u_fgetNumberFormat(UFILE *f);
476
+
477
+ /* Output functions */
478
+
479
+ /**
480
+ * Write formatted data to <TT>stdout</TT>.
481
+ * @param patternSpecification A pattern specifying how <TT>u_printf</TT> will
482
+ * interpret the variable arguments received and format the data.
483
+ * @return The number of Unicode characters written to <TT>stdout</TT>
484
+ * @stable ICU 49
485
+ */
486
+ U_STABLE int32_t U_EXPORT2
487
+ u_printf(const char *patternSpecification,
488
+ ... );
489
+
490
+ /**
491
+ * Write formatted data to a UFILE.
492
+ * @param f The UFILE to which to write.
493
+ * @param patternSpecification A pattern specifying how <TT>u_fprintf</TT> will
494
+ * interpret the variable arguments received and format the data.
495
+ * @return The number of Unicode characters written to <TT>f</TT>.
496
+ * @stable ICU 3.0
497
+ */
498
+ U_STABLE int32_t U_EXPORT2
499
+ u_fprintf(UFILE *f,
500
+ const char *patternSpecification,
501
+ ... );
502
+
503
+ /**
504
+ * Write formatted data to a UFILE.
505
+ * This is identical to <TT>u_fprintf</TT>, except that it will
506
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.
507
+ * @param f The UFILE to which to write.
508
+ * @param patternSpecification A pattern specifying how <TT>u_fprintf</TT> will
509
+ * interpret the variable arguments received and format the data.
510
+ * @param ap The argument list to use.
511
+ * @return The number of Unicode characters written to <TT>f</TT>.
512
+ * @see u_fprintf
513
+ * @stable ICU 3.0
514
+ */
515
+ U_STABLE int32_t U_EXPORT2
516
+ u_vfprintf(UFILE *f,
517
+ const char *patternSpecification,
518
+ va_list ap);
519
+
520
+ /**
521
+ * Write formatted data to <TT>stdout</TT>.
522
+ * @param patternSpecification A pattern specifying how <TT>u_printf_u</TT> will
523
+ * interpret the variable arguments received and format the data.
524
+ * @return The number of Unicode characters written to <TT>stdout</TT>
525
+ * @stable ICU 49
526
+ */
527
+ U_STABLE int32_t U_EXPORT2
528
+ u_printf_u(const UChar *patternSpecification,
529
+ ... );
530
+
531
+ /**
532
+ * Get a UFILE for <TT>stdout</TT>.
533
+ * @return UFILE that writes to <TT>stdout</TT>
534
+ * @stable ICU 49
535
+ */
536
+ U_STABLE UFILE * U_EXPORT2
537
+ u_get_stdout(void);
538
+
539
+ /**
540
+ * Write formatted data to a UFILE.
541
+ * @param f The UFILE to which to write.
542
+ * @param patternSpecification A pattern specifying how <TT>u_fprintf</TT> will
543
+ * interpret the variable arguments received and format the data.
544
+ * @return The number of Unicode characters written to <TT>f</TT>.
545
+ * @stable ICU 3.0
546
+ */
547
+ U_STABLE int32_t U_EXPORT2
548
+ u_fprintf_u(UFILE *f,
549
+ const UChar *patternSpecification,
550
+ ... );
551
+
552
+ /**
553
+ * Write formatted data to a UFILE.
554
+ * This is identical to <TT>u_fprintf_u</TT>, except that it will
555
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.
556
+ * @param f The UFILE to which to write.
557
+ * @param patternSpecification A pattern specifying how <TT>u_fprintf</TT> will
558
+ * interpret the variable arguments received and format the data.
559
+ * @param ap The argument list to use.
560
+ * @return The number of Unicode characters written to <TT>f</TT>.
561
+ * @see u_fprintf_u
562
+ * @stable ICU 3.0
563
+ */
564
+ U_STABLE int32_t U_EXPORT2
565
+ u_vfprintf_u(UFILE *f,
566
+ const UChar *patternSpecification,
567
+ va_list ap);
568
+ #endif
569
+ /**
570
+ * Write a Unicode to a UFILE. The null (U+0000) terminated UChar*
571
+ * <TT>s</TT> will be written to <TT>f</TT>, excluding the NULL terminator.
572
+ * A newline will be added to <TT>f</TT>.
573
+ * @param s The UChar* to write.
574
+ * @param f The UFILE to which to write.
575
+ * @return A non-negative number if successful, EOF otherwise.
576
+ * @see u_file_write
577
+ * @stable ICU 3.0
578
+ */
579
+ U_STABLE int32_t U_EXPORT2
580
+ u_fputs(const UChar *s,
581
+ UFILE *f);
582
+
583
+ /**
584
+ * Write a UChar to a UFILE.
585
+ * @param uc The UChar to write.
586
+ * @param f The UFILE to which to write.
587
+ * @return The character written if successful, EOF otherwise.
588
+ * @stable ICU 3.0
589
+ */
590
+ U_STABLE UChar32 U_EXPORT2
591
+ u_fputc(UChar32 uc,
592
+ UFILE *f);
593
+
594
+ /**
595
+ * Write Unicode to a UFILE.
596
+ * The ustring passed in will be converted to the UFILE's underlying
597
+ * codepage before it is written.
598
+ * @param ustring A pointer to the Unicode data to write.
599
+ * @param count The number of Unicode characters to write
600
+ * @param f The UFILE to which to write.
601
+ * @return The number of Unicode characters written.
602
+ * @see u_fputs
603
+ * @stable ICU 3.0
604
+ */
605
+ U_STABLE int32_t U_EXPORT2
606
+ u_file_write(const UChar *ustring,
607
+ int32_t count,
608
+ UFILE *f);
609
+
610
+
611
+ /* Input functions */
612
+ #if !UCONFIG_NO_FORMATTING
613
+
614
+ /**
615
+ * Read formatted data from a UFILE.
616
+ * @param f The UFILE from which to read.
617
+ * @param patternSpecification A pattern specifying how <TT>u_fscanf</TT> will
618
+ * interpret the variable arguments received and parse the data.
619
+ * @return The number of items successfully converted and assigned, or EOF
620
+ * if an error occurred.
621
+ * @stable ICU 3.0
622
+ */
623
+ U_STABLE int32_t U_EXPORT2
624
+ u_fscanf(UFILE *f,
625
+ const char *patternSpecification,
626
+ ... );
627
+
628
+ /**
629
+ * Read formatted data from a UFILE.
630
+ * This is identical to <TT>u_fscanf</TT>, except that it will
631
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.
632
+ * @param f The UFILE from which to read.
633
+ * @param patternSpecification A pattern specifying how <TT>u_fscanf</TT> will
634
+ * interpret the variable arguments received and parse the data.
635
+ * @param ap The argument list to use.
636
+ * @return The number of items successfully converted and assigned, or EOF
637
+ * if an error occurred.
638
+ * @see u_fscanf
639
+ * @stable ICU 3.0
640
+ */
641
+ U_STABLE int32_t U_EXPORT2
642
+ u_vfscanf(UFILE *f,
643
+ const char *patternSpecification,
644
+ va_list ap);
645
+
646
+ /**
647
+ * Read formatted data from a UFILE.
648
+ * @param f The UFILE from which to read.
649
+ * @param patternSpecification A pattern specifying how <TT>u_fscanf</TT> will
650
+ * interpret the variable arguments received and parse the data.
651
+ * @return The number of items successfully converted and assigned, or EOF
652
+ * if an error occurred.
653
+ * @stable ICU 3.0
654
+ */
655
+ U_STABLE int32_t U_EXPORT2
656
+ u_fscanf_u(UFILE *f,
657
+ const UChar *patternSpecification,
658
+ ... );
659
+
660
+ /**
661
+ * Read formatted data from a UFILE.
662
+ * This is identical to <TT>u_fscanf_u</TT>, except that it will
663
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.
664
+ * @param f The UFILE from which to read.
665
+ * @param patternSpecification A pattern specifying how <TT>u_fscanf</TT> will
666
+ * interpret the variable arguments received and parse the data.
667
+ * @param ap The argument list to use.
668
+ * @return The number of items successfully converted and assigned, or EOF
669
+ * if an error occurred.
670
+ * @see u_fscanf_u
671
+ * @stable ICU 3.0
672
+ */
673
+ U_STABLE int32_t U_EXPORT2
674
+ u_vfscanf_u(UFILE *f,
675
+ const UChar *patternSpecification,
676
+ va_list ap);
677
+ #endif
678
+
679
+ /**
680
+ * Read one line of text into a UChar* string from a UFILE. The newline
681
+ * at the end of the line is read into the string. The string is always
682
+ * null terminated
683
+ * @param f The UFILE from which to read.
684
+ * @param n The maximum number of characters - 1 to read.
685
+ * @param s The UChar* to receive the read data. Characters will be
686
+ * stored successively in <TT>s</TT> until a newline or EOF is
687
+ * reached. A null character (U+0000) will be appended to <TT>s</TT>.
688
+ * @return A pointer to <TT>s</TT>, or NULL if no characters were available.
689
+ * @stable ICU 3.0
690
+ */
691
+ U_STABLE UChar* U_EXPORT2
692
+ u_fgets(UChar *s,
693
+ int32_t n,
694
+ UFILE *f);
695
+
696
+ /**
697
+ * Read a UChar from a UFILE. It is recommended that <TT>u_fgetcx</TT>
698
+ * used instead for proper parsing functions, but sometimes reading
699
+ * code units is needed instead of codepoints.
700
+ *
701
+ * @param f The UFILE from which to read.
702
+ * @return The UChar value read, or U+FFFF if no character was available.
703
+ * @stable ICU 3.0
704
+ */
705
+ U_STABLE UChar U_EXPORT2
706
+ u_fgetc(UFILE *f);
707
+
708
+ /**
709
+ * Read a UChar32 from a UFILE.
710
+ *
711
+ * @param f The UFILE from which to read.
712
+ * @return The UChar32 value read, or U_EOF if no character was
713
+ * available, or U+FFFFFFFF if an ill-formed character was
714
+ * encountered.
715
+ * @see u_unescape()
716
+ * @stable ICU 3.0
717
+ */
718
+ U_STABLE UChar32 U_EXPORT2
719
+ u_fgetcx(UFILE *f);
720
+
721
+ /**
722
+ * Unget a UChar from a UFILE.
723
+ * If this function is not the first to operate on <TT>f</TT> after a call
724
+ * to <TT>u_fgetc</TT>, the results are undefined.
725
+ * If this function is passed a character that was not recieved from the
726
+ * previous <TT>u_fgetc</TT> or <TT>u_fgetcx</TT> call, the results are undefined.
727
+ * @param c The UChar to put back on the stream.
728
+ * @param f The UFILE to receive <TT>c</TT>.
729
+ * @return The UChar32 value put back if successful, U_EOF otherwise.
730
+ * @stable ICU 3.0
731
+ */
732
+ U_STABLE UChar32 U_EXPORT2
733
+ u_fungetc(UChar32 c,
734
+ UFILE *f);
735
+
736
+ /**
737
+ * Read Unicode from a UFILE.
738
+ * Bytes will be converted from the UFILE's underlying codepage, with
739
+ * subsequent conversion to Unicode. The data will not be NULL terminated.
740
+ * @param chars A pointer to receive the Unicode data.
741
+ * @param count The number of Unicode characters to read.
742
+ * @param f The UFILE from which to read.
743
+ * @return The number of Unicode characters read.
744
+ * @stable ICU 3.0
745
+ */
746
+ U_STABLE int32_t U_EXPORT2
747
+ u_file_read(UChar *chars,
748
+ int32_t count,
749
+ UFILE *f);
750
+
751
+ #if !UCONFIG_NO_TRANSLITERATION
752
+
753
+ /**
754
+ * Set a transliterator on the UFILE. The transliterator will be owned by the
755
+ * UFILE.
756
+ * @param file The UFILE to set transliteration on
757
+ * @param adopt The UTransliterator to set. Can be NULL, which will
758
+ * mean that no transliteration is used.
759
+ * @param direction either U_READ, U_WRITE, or U_READWRITE - sets
760
+ * which direction the transliterator is to be applied to. If
761
+ * U_READWRITE, the "Read" transliteration will be in the inverse
762
+ * direction.
763
+ * @param status ICU error code.
764
+ * @return The previously set transliterator, owned by the
765
+ * caller. If U_READWRITE is specified, only the WRITE transliterator
766
+ * is returned. In most cases, the caller should call utrans_close()
767
+ * on the result of this function.
768
+ * @stable ICU 3.0
769
+ */
770
+ U_STABLE UTransliterator* U_EXPORT2
771
+ u_fsettransliterator(UFILE *file, UFileDirection direction,
772
+ UTransliterator *adopt, UErrorCode *status);
773
+
774
+ #endif
775
+
776
+
777
+ /* Output string functions */
778
+ #if !UCONFIG_NO_FORMATTING
779
+
780
+
781
+ /**
782
+ * Write formatted data to a Unicode string.
783
+ *
784
+ * @param buffer The Unicode String to which to write.
785
+ * @param patternSpecification A pattern specifying how <TT>u_sprintf</TT> will
786
+ * interpret the variable arguments received and format the data.
787
+ * @return The number of Unicode code units written to <TT>buffer</TT>. This
788
+ * does not include the terminating null character.
789
+ * @stable ICU 3.0
790
+ */
791
+ U_STABLE int32_t U_EXPORT2
792
+ u_sprintf(UChar *buffer,
793
+ const char *patternSpecification,
794
+ ... );
795
+
796
+ /**
797
+ * Write formatted data to a Unicode string. When the number of code units
798
+ * required to store the data exceeds <TT>count</TT>, then <TT>count</TT> code
799
+ * units of data are stored in <TT>buffer</TT> and a negative value is
800
+ * returned. When the number of code units required to store the data equals
801
+ * <TT>count</TT>, the string is not null terminated and <TT>count</TT> is
802
+ * returned.
803
+ *
804
+ * @param buffer The Unicode String to which to write.
805
+ * @param count The number of code units to read.
806
+ * @param patternSpecification A pattern specifying how <TT>u_sprintf</TT> will
807
+ * interpret the variable arguments received and format the data.
808
+ * @return The number of Unicode characters that would have been written to
809
+ * <TT>buffer</TT> had count been sufficiently large. This does not include
810
+ * the terminating null character.
811
+ * @stable ICU 3.0
812
+ */
813
+ U_STABLE int32_t U_EXPORT2
814
+ u_snprintf(UChar *buffer,
815
+ int32_t count,
816
+ const char *patternSpecification,
817
+ ... );
818
+
819
+ /**
820
+ * Write formatted data to a Unicode string.
821
+ * This is identical to <TT>u_sprintf</TT>, except that it will
822
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.
823
+ *
824
+ * @param buffer The Unicode string to which to write.
825
+ * @param patternSpecification A pattern specifying how <TT>u_sprintf</TT> will
826
+ * interpret the variable arguments received and format the data.
827
+ * @param ap The argument list to use.
828
+ * @return The number of Unicode characters written to <TT>buffer</TT>.
829
+ * @see u_sprintf
830
+ * @stable ICU 3.0
831
+ */
832
+ U_STABLE int32_t U_EXPORT2
833
+ u_vsprintf(UChar *buffer,
834
+ const char *patternSpecification,
835
+ va_list ap);
836
+
837
+ /**
838
+ * Write formatted data to a Unicode string.
839
+ * This is identical to <TT>u_snprintf</TT>, except that it will
840
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.<br><br>
841
+ * When the number of code units required to store the data exceeds
842
+ * <TT>count</TT>, then <TT>count</TT> code units of data are stored in
843
+ * <TT>buffer</TT> and a negative value is returned. When the number of code
844
+ * units required to store the data equals <TT>count</TT>, the string is not
845
+ * null terminated and <TT>count</TT> is returned.
846
+ *
847
+ * @param buffer The Unicode string to which to write.
848
+ * @param count The number of code units to read.
849
+ * @param patternSpecification A pattern specifying how <TT>u_sprintf</TT> will
850
+ * interpret the variable arguments received and format the data.
851
+ * @param ap The argument list to use.
852
+ * @return The number of Unicode characters that would have been written to
853
+ * <TT>buffer</TT> had count been sufficiently large.
854
+ * @see u_sprintf
855
+ * @stable ICU 3.0
856
+ */
857
+ U_STABLE int32_t U_EXPORT2
858
+ u_vsnprintf(UChar *buffer,
859
+ int32_t count,
860
+ const char *patternSpecification,
861
+ va_list ap);
862
+
863
+ /**
864
+ * Write formatted data to a Unicode string.
865
+ *
866
+ * @param buffer The Unicode string to which to write.
867
+ * @param patternSpecification A pattern specifying how <TT>u_sprintf</TT> will
868
+ * interpret the variable arguments received and format the data.
869
+ * @return The number of Unicode characters written to <TT>buffer</TT>.
870
+ * @stable ICU 3.0
871
+ */
872
+ U_STABLE int32_t U_EXPORT2
873
+ u_sprintf_u(UChar *buffer,
874
+ const UChar *patternSpecification,
875
+ ... );
876
+
877
+ /**
878
+ * Write formatted data to a Unicode string. When the number of code units
879
+ * required to store the data exceeds <TT>count</TT>, then <TT>count</TT> code
880
+ * units of data are stored in <TT>buffer</TT> and a negative value is
881
+ * returned. When the number of code units required to store the data equals
882
+ * <TT>count</TT>, the string is not null terminated and <TT>count</TT> is
883
+ * returned.
884
+ *
885
+ * @param buffer The Unicode string to which to write.
886
+ * @param count The number of code units to read.
887
+ * @param patternSpecification A pattern specifying how <TT>u_sprintf</TT> will
888
+ * interpret the variable arguments received and format the data.
889
+ * @return The number of Unicode characters that would have been written to
890
+ * <TT>buffer</TT> had count been sufficiently large.
891
+ * @stable ICU 3.0
892
+ */
893
+ U_STABLE int32_t U_EXPORT2
894
+ u_snprintf_u(UChar *buffer,
895
+ int32_t count,
896
+ const UChar *patternSpecification,
897
+ ... );
898
+
899
+ /**
900
+ * Write formatted data to a Unicode string.
901
+ * This is identical to <TT>u_sprintf_u</TT>, except that it will
902
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.
903
+ *
904
+ * @param buffer The Unicode string to which to write.
905
+ * @param patternSpecification A pattern specifying how <TT>u_sprintf</TT> will
906
+ * interpret the variable arguments received and format the data.
907
+ * @param ap The argument list to use.
908
+ * @return The number of Unicode characters written to <TT>f</TT>.
909
+ * @see u_sprintf_u
910
+ * @stable ICU 3.0
911
+ */
912
+ U_STABLE int32_t U_EXPORT2
913
+ u_vsprintf_u(UChar *buffer,
914
+ const UChar *patternSpecification,
915
+ va_list ap);
916
+
917
+ /**
918
+ * Write formatted data to a Unicode string.
919
+ * This is identical to <TT>u_snprintf_u</TT>, except that it will
920
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.
921
+ * When the number of code units required to store the data exceeds
922
+ * <TT>count</TT>, then <TT>count</TT> code units of data are stored in
923
+ * <TT>buffer</TT> and a negative value is returned. When the number of code
924
+ * units required to store the data equals <TT>count</TT>, the string is not
925
+ * null terminated and <TT>count</TT> is returned.
926
+ *
927
+ * @param buffer The Unicode string to which to write.
928
+ * @param count The number of code units to read.
929
+ * @param patternSpecification A pattern specifying how <TT>u_sprintf</TT> will
930
+ * interpret the variable arguments received and format the data.
931
+ * @param ap The argument list to use.
932
+ * @return The number of Unicode characters that would have been written to
933
+ * <TT>f</TT> had count been sufficiently large.
934
+ * @see u_sprintf_u
935
+ * @stable ICU 3.0
936
+ */
937
+ U_STABLE int32_t U_EXPORT2
938
+ u_vsnprintf_u(UChar *buffer,
939
+ int32_t count,
940
+ const UChar *patternSpecification,
941
+ va_list ap);
942
+
943
+ /* Input string functions */
944
+
945
+ /**
946
+ * Read formatted data from a Unicode string.
947
+ *
948
+ * @param buffer The Unicode string from which to read.
949
+ * @param patternSpecification A pattern specifying how <TT>u_sscanf</TT> will
950
+ * interpret the variable arguments received and parse the data.
951
+ * @return The number of items successfully converted and assigned, or EOF
952
+ * if an error occurred.
953
+ * @stable ICU 3.0
954
+ */
955
+ U_STABLE int32_t U_EXPORT2
956
+ u_sscanf(const UChar *buffer,
957
+ const char *patternSpecification,
958
+ ... );
959
+
960
+ /**
961
+ * Read formatted data from a Unicode string.
962
+ * This is identical to <TT>u_sscanf</TT>, except that it will
963
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.
964
+ *
965
+ * @param buffer The Unicode string from which to read.
966
+ * @param patternSpecification A pattern specifying how <TT>u_sscanf</TT> will
967
+ * interpret the variable arguments received and parse the data.
968
+ * @param ap The argument list to use.
969
+ * @return The number of items successfully converted and assigned, or EOF
970
+ * if an error occurred.
971
+ * @see u_sscanf
972
+ * @stable ICU 3.0
973
+ */
974
+ U_STABLE int32_t U_EXPORT2
975
+ u_vsscanf(const UChar *buffer,
976
+ const char *patternSpecification,
977
+ va_list ap);
978
+
979
+ /**
980
+ * Read formatted data from a Unicode string.
981
+ *
982
+ * @param buffer The Unicode string from which to read.
983
+ * @param patternSpecification A pattern specifying how <TT>u_sscanf</TT> will
984
+ * interpret the variable arguments received and parse the data.
985
+ * @return The number of items successfully converted and assigned, or EOF
986
+ * if an error occurred.
987
+ * @stable ICU 3.0
988
+ */
989
+ U_STABLE int32_t U_EXPORT2
990
+ u_sscanf_u(const UChar *buffer,
991
+ const UChar *patternSpecification,
992
+ ... );
993
+
994
+ /**
995
+ * Read formatted data from a Unicode string.
996
+ * This is identical to <TT>u_sscanf_u</TT>, except that it will
997
+ * <EM>not</EM> call <TT>va_start</TT> and <TT>va_end</TT>.
998
+ *
999
+ * @param buffer The Unicode string from which to read.
1000
+ * @param patternSpecification A pattern specifying how <TT>u_sscanf</TT> will
1001
+ * interpret the variable arguments received and parse the data.
1002
+ * @param ap The argument list to use.
1003
+ * @return The number of items successfully converted and assigned, or EOF
1004
+ * if an error occurred.
1005
+ * @see u_sscanf_u
1006
+ * @stable ICU 3.0
1007
+ */
1008
+ U_STABLE int32_t U_EXPORT2
1009
+ u_vsscanf_u(const UChar *buffer,
1010
+ const UChar *patternSpecification,
1011
+ va_list ap);
1012
+
1013
+
1014
+ #endif
1015
+ #endif
1016
+ #endif
1017
+
1018
+