pango 2.2.4-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. checksums.yaml +7 -0
  2. data/README +33 -0
  3. data/Rakefile +65 -0
  4. data/ext/pango/depend +12 -0
  5. data/ext/pango/extconf.rb +90 -0
  6. data/ext/pango/pango.def +18 -0
  7. data/ext/pango/rbpango.c +318 -0
  8. data/ext/pango/rbpango.h +96 -0
  9. data/ext/pango/rbpangoanalysis.c +218 -0
  10. data/ext/pango/rbpangoattribute.c +499 -0
  11. data/ext/pango/rbpangoattriterator.c +141 -0
  12. data/ext/pango/rbpangoattrlist.c +101 -0
  13. data/ext/pango/rbpangocairo.c +122 -0
  14. data/ext/pango/rbpangocairocontext.c +131 -0
  15. data/ext/pango/rbpangocolor.c +120 -0
  16. data/ext/pango/rbpangocontext.c +309 -0
  17. data/ext/pango/rbpangoconversions.h +111 -0
  18. data/ext/pango/rbpangocoverage.c +106 -0
  19. data/ext/pango/rbpangoengine.c +73 -0
  20. data/ext/pango/rbpangofont.c +110 -0
  21. data/ext/pango/rbpangofontdescription.c +282 -0
  22. data/ext/pango/rbpangofontface.c +73 -0
  23. data/ext/pango/rbpangofontfamily.c +79 -0
  24. data/ext/pango/rbpangofontmap.c +102 -0
  25. data/ext/pango/rbpangofontmetrics.c +85 -0
  26. data/ext/pango/rbpangofontset.c +69 -0
  27. data/ext/pango/rbpangofontsetsimple.c +60 -0
  28. data/ext/pango/rbpangoglyphinfo.c +123 -0
  29. data/ext/pango/rbpangoglyphitem.c +125 -0
  30. data/ext/pango/rbpangoglyphstring.c +151 -0
  31. data/ext/pango/rbpangogravity.c +54 -0
  32. data/ext/pango/rbpangoitem.c +95 -0
  33. data/ext/pango/rbpangolanguage.c +86 -0
  34. data/ext/pango/rbpangolayout.c +572 -0
  35. data/ext/pango/rbpangolayoutiter.c +189 -0
  36. data/ext/pango/rbpangolayoutline.c +239 -0
  37. data/ext/pango/rbpangologattr.c +109 -0
  38. data/ext/pango/rbpangomatrix.c +143 -0
  39. data/ext/pango/rbpangoprivate.h +49 -0
  40. data/ext/pango/rbpangorectangle.c +170 -0
  41. data/ext/pango/rbpangorenderer.c +193 -0
  42. data/ext/pango/rbpangoscript.c +84 -0
  43. data/ext/pango/rbpangoscriptiter.c +92 -0
  44. data/ext/pango/rbpangotabarray.c +128 -0
  45. data/extconf.rb +49 -0
  46. data/lib/2.0/pango.so +0 -0
  47. data/lib/2.1/pango.so +0 -0
  48. data/lib/2.2/pango.so +0 -0
  49. data/lib/pango.rb +79 -0
  50. data/sample/attribute.rb +82 -0
  51. data/sample/break.rb +28 -0
  52. data/sample/gdk_layout.rb +27 -0
  53. data/sample/glyphstring.rb +61 -0
  54. data/sample/item.rb +37 -0
  55. data/sample/label.rb +23 -0
  56. data/sample/layout.rb +102 -0
  57. data/sample/pango_cairo.rb +66 -0
  58. data/sample/parse.rb +33 -0
  59. data/sample/sample.txt +10 -0
  60. data/sample/script.rb +23 -0
  61. data/test/pango-test-utils.rb +9 -0
  62. data/test/run-test.rb +28 -0
  63. data/test/test-analysis.rb +26 -0
  64. data/test/test-attribute.rb +19 -0
  65. data/test/test-color.rb +47 -0
  66. data/test/test-language.rb +7 -0
  67. data/test/test-layout.rb +34 -0
  68. data/test/test-log-attr.rb +26 -0
  69. data/test/test-matrix.rb +26 -0
  70. data/test/test-rectangle.rb +26 -0
  71. data/vendor/local/bin/derb.exe +0 -0
  72. data/vendor/local/bin/genbrk.exe +0 -0
  73. data/vendor/local/bin/genccode.exe +0 -0
  74. data/vendor/local/bin/gencfu.exe +0 -0
  75. data/vendor/local/bin/gencmn.exe +0 -0
  76. data/vendor/local/bin/gencnval.exe +0 -0
  77. data/vendor/local/bin/gendict.exe +0 -0
  78. data/vendor/local/bin/gennorm2.exe +0 -0
  79. data/vendor/local/bin/genrb.exe +0 -0
  80. data/vendor/local/bin/gensprep.exe +0 -0
  81. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  82. data/vendor/local/bin/hb-shape.exe +0 -0
  83. data/vendor/local/bin/hb-view.exe +0 -0
  84. data/vendor/local/bin/icu-config +820 -0
  85. data/vendor/local/bin/icuinfo.exe +0 -0
  86. data/vendor/local/bin/icupkg.exe +0 -0
  87. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  88. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  89. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  90. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  91. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  92. data/vendor/local/bin/makeconv.exe +0 -0
  93. data/vendor/local/bin/pango-querymodules.exe +0 -0
  94. data/vendor/local/bin/pango-view.exe +0 -0
  95. data/vendor/local/bin/pkgdata.exe +0 -0
  96. data/vendor/local/bin/uconv.exe +0 -0
  97. data/vendor/local/etc/pango/pango.modules +19 -0
  98. data/vendor/local/include/harfbuzz/hb-blob.h +126 -0
  99. data/vendor/local/include/harfbuzz/hb-buffer.h +344 -0
  100. data/vendor/local/include/harfbuzz/hb-common.h +344 -0
  101. data/vendor/local/include/harfbuzz/hb-deprecated.h +51 -0
  102. data/vendor/local/include/harfbuzz/hb-face.h +117 -0
  103. data/vendor/local/include/harfbuzz/hb-font.h +507 -0
  104. data/vendor/local/include/harfbuzz/hb-ft.h +62 -0
  105. data/vendor/local/include/harfbuzz/hb-glib.h +52 -0
  106. data/vendor/local/include/harfbuzz/hb-icu.h +52 -0
  107. data/vendor/local/include/harfbuzz/hb-ot-font.h +41 -0
  108. data/vendor/local/include/harfbuzz/hb-ot-layout.h +302 -0
  109. data/vendor/local/include/harfbuzz/hb-ot-shape.h +53 -0
  110. data/vendor/local/include/harfbuzz/hb-ot-tag.h +59 -0
  111. data/vendor/local/include/harfbuzz/hb-ot.h +43 -0
  112. data/vendor/local/include/harfbuzz/hb-set.h +154 -0
  113. data/vendor/local/include/harfbuzz/hb-shape-plan.h +89 -0
  114. data/vendor/local/include/harfbuzz/hb-shape.h +81 -0
  115. data/vendor/local/include/harfbuzz/hb-unicode.h +445 -0
  116. data/vendor/local/include/harfbuzz/hb-version.h +66 -0
  117. data/vendor/local/include/harfbuzz/hb.h +47 -0
  118. data/vendor/local/include/layout/LEFontInstance.h +550 -0
  119. data/vendor/local/include/layout/LEGlyphFilter.h +45 -0
  120. data/vendor/local/include/layout/LEGlyphStorage.h +546 -0
  121. data/vendor/local/include/layout/LEInsertionList.h +177 -0
  122. data/vendor/local/include/layout/LELanguages.h +112 -0
  123. data/vendor/local/include/layout/LEScripts.h +263 -0
  124. data/vendor/local/include/layout/LESwaps.h +100 -0
  125. data/vendor/local/include/layout/LETableReference.h +418 -0
  126. data/vendor/local/include/layout/LETypes.h +728 -0
  127. data/vendor/local/include/layout/LayoutEngine.h +518 -0
  128. data/vendor/local/include/layout/ParagraphLayout.h +747 -0
  129. data/vendor/local/include/layout/RunArrays.h +676 -0
  130. data/vendor/local/include/layout/loengine.h +225 -0
  131. data/vendor/local/include/layout/playout.h +466 -0
  132. data/vendor/local/include/layout/plruns.h +441 -0
  133. data/vendor/local/include/pango-1.0/pango/pango-attributes.h +514 -0
  134. data/vendor/local/include/pango-1.0/pango/pango-bidi-type.h +136 -0
  135. data/vendor/local/include/pango-1.0/pango/pango-break.h +173 -0
  136. data/vendor/local/include/pango-1.0/pango/pango-context.h +112 -0
  137. data/vendor/local/include/pango-1.0/pango/pango-coverage.h +79 -0
  138. data/vendor/local/include/pango-1.0/pango/pango-engine.h +429 -0
  139. data/vendor/local/include/pango-1.0/pango/pango-enum-types.h +69 -0
  140. data/vendor/local/include/pango-1.0/pango/pango-features.h +12 -0
  141. data/vendor/local/include/pango-1.0/pango/pango-font.h +622 -0
  142. data/vendor/local/include/pango-1.0/pango/pango-fontmap.h +167 -0
  143. data/vendor/local/include/pango-1.0/pango/pango-fontset.h +169 -0
  144. data/vendor/local/include/pango-1.0/pango/pango-glyph-item.h +158 -0
  145. data/vendor/local/include/pango-1.0/pango/pango-glyph.h +197 -0
  146. data/vendor/local/include/pango-1.0/pango/pango-gravity.h +128 -0
  147. data/vendor/local/include/pango-1.0/pango/pango-item.h +109 -0
  148. data/vendor/local/include/pango-1.0/pango/pango-language.h +61 -0
  149. data/vendor/local/include/pango-1.0/pango/pango-layout.h +340 -0
  150. data/vendor/local/include/pango-1.0/pango/pango-matrix.h +117 -0
  151. data/vendor/local/include/pango-1.0/pango/pango-modules.h +71 -0
  152. data/vendor/local/include/pango-1.0/pango/pango-ot.h +391 -0
  153. data/vendor/local/include/pango-1.0/pango/pango-renderer.h +260 -0
  154. data/vendor/local/include/pango-1.0/pango/pango-script.h +260 -0
  155. data/vendor/local/include/pango-1.0/pango/pango-tabs.h +87 -0
  156. data/vendor/local/include/pango-1.0/pango/pango-types.h +200 -0
  157. data/vendor/local/include/pango-1.0/pango/pango-utils.h +189 -0
  158. data/vendor/local/include/pango-1.0/pango/pango.h +48 -0
  159. data/vendor/local/include/pango-1.0/pango/pangocairo.h +169 -0
  160. data/vendor/local/include/pango-1.0/pango/pangofc-decoder.h +110 -0
  161. data/vendor/local/include/pango-1.0/pango/pangofc-font.h +153 -0
  162. data/vendor/local/include/pango-1.0/pango/pangofc-fontmap.h +289 -0
  163. data/vendor/local/include/pango-1.0/pango/pangoft2.h +133 -0
  164. data/vendor/local/include/pango-1.0/pango/pangowin32.h +128 -0
  165. data/vendor/local/include/unicode/alphaindex.h +752 -0
  166. data/vendor/local/include/unicode/appendable.h +232 -0
  167. data/vendor/local/include/unicode/basictz.h +214 -0
  168. data/vendor/local/include/unicode/brkiter.h +655 -0
  169. data/vendor/local/include/unicode/bytestream.h +257 -0
  170. data/vendor/local/include/unicode/bytestrie.h +519 -0
  171. data/vendor/local/include/unicode/bytestriebuilder.h +181 -0
  172. data/vendor/local/include/unicode/calendar.h +2519 -0
  173. data/vendor/local/include/unicode/caniter.h +208 -0
  174. data/vendor/local/include/unicode/chariter.h +722 -0
  175. data/vendor/local/include/unicode/choicfmt.h +594 -0
  176. data/vendor/local/include/unicode/coleitr.h +404 -0
  177. data/vendor/local/include/unicode/coll.h +1267 -0
  178. data/vendor/local/include/unicode/compactdecimalformat.h +330 -0
  179. data/vendor/local/include/unicode/curramt.h +130 -0
  180. data/vendor/local/include/unicode/currpinf.h +258 -0
  181. data/vendor/local/include/unicode/currunit.h +110 -0
  182. data/vendor/local/include/unicode/datefmt.h +883 -0
  183. data/vendor/local/include/unicode/dbbi.h +40 -0
  184. data/vendor/local/include/unicode/dcfmtsym.h +482 -0
  185. data/vendor/local/include/unicode/decimfmt.h +2479 -0
  186. data/vendor/local/include/unicode/docmain.h +215 -0
  187. data/vendor/local/include/unicode/dtfmtsym.h +912 -0
  188. data/vendor/local/include/unicode/dtintrv.h +158 -0
  189. data/vendor/local/include/unicode/dtitvfmt.h +985 -0
  190. data/vendor/local/include/unicode/dtitvinf.h +514 -0
  191. data/vendor/local/include/unicode/dtptngen.h +498 -0
  192. data/vendor/local/include/unicode/dtrule.h +250 -0
  193. data/vendor/local/include/unicode/enumset.h +64 -0
  194. data/vendor/local/include/unicode/errorcode.h +137 -0
  195. data/vendor/local/include/unicode/fieldpos.h +291 -0
  196. data/vendor/local/include/unicode/filteredbrk.h +131 -0
  197. data/vendor/local/include/unicode/fmtable.h +760 -0
  198. data/vendor/local/include/unicode/format.h +305 -0
  199. data/vendor/local/include/unicode/fpositer.h +117 -0
  200. data/vendor/local/include/unicode/gender.h +111 -0
  201. data/vendor/local/include/unicode/gregocal.h +777 -0
  202. data/vendor/local/include/unicode/icudataver.h +41 -0
  203. data/vendor/local/include/unicode/icuplug.h +371 -0
  204. data/vendor/local/include/unicode/idna.h +323 -0
  205. data/vendor/local/include/unicode/listformatter.h +167 -0
  206. data/vendor/local/include/unicode/localpointer.h +304 -0
  207. data/vendor/local/include/unicode/locdspnm.h +204 -0
  208. data/vendor/local/include/unicode/locid.h +815 -0
  209. data/vendor/local/include/unicode/measfmt.h +389 -0
  210. data/vendor/local/include/unicode/measunit.h +1443 -0
  211. data/vendor/local/include/unicode/measure.h +159 -0
  212. data/vendor/local/include/unicode/messagepattern.h +943 -0
  213. data/vendor/local/include/unicode/msgfmt.h +1093 -0
  214. data/vendor/local/include/unicode/normalizer2.h +658 -0
  215. data/vendor/local/include/unicode/normlzr.h +797 -0
  216. data/vendor/local/include/unicode/numfmt.h +1187 -0
  217. data/vendor/local/include/unicode/numsys.h +208 -0
  218. data/vendor/local/include/unicode/parseerr.h +92 -0
  219. data/vendor/local/include/unicode/parsepos.h +230 -0
  220. data/vendor/local/include/unicode/platform.h +751 -0
  221. data/vendor/local/include/unicode/plurfmt.h +615 -0
  222. data/vendor/local/include/unicode/plurrule.h +501 -0
  223. data/vendor/local/include/unicode/ptypes.h +126 -0
  224. data/vendor/local/include/unicode/putil.h +181 -0
  225. data/vendor/local/include/unicode/rbbi.h +782 -0
  226. data/vendor/local/include/unicode/rbnf.h +1032 -0
  227. data/vendor/local/include/unicode/rbtz.h +362 -0
  228. data/vendor/local/include/unicode/regex.h +1857 -0
  229. data/vendor/local/include/unicode/region.h +228 -0
  230. data/vendor/local/include/unicode/reldatefmt.h +498 -0
  231. data/vendor/local/include/unicode/rep.h +261 -0
  232. data/vendor/local/include/unicode/resbund.h +490 -0
  233. data/vendor/local/include/unicode/schriter.h +187 -0
  234. data/vendor/local/include/unicode/scientificformathelper.h +139 -0
  235. data/vendor/local/include/unicode/search.h +575 -0
  236. data/vendor/local/include/unicode/selfmt.h +367 -0
  237. data/vendor/local/include/unicode/simpletz.h +928 -0
  238. data/vendor/local/include/unicode/smpdtfmt.h +1592 -0
  239. data/vendor/local/include/unicode/sortkey.h +338 -0
  240. data/vendor/local/include/unicode/std_string.h +37 -0
  241. data/vendor/local/include/unicode/strenum.h +276 -0
  242. data/vendor/local/include/unicode/stringpiece.h +224 -0
  243. data/vendor/local/include/unicode/stringtriebuilder.h +402 -0
  244. data/vendor/local/include/unicode/stsearch.h +504 -0
  245. data/vendor/local/include/unicode/symtable.h +112 -0
  246. data/vendor/local/include/unicode/tblcoll.h +873 -0
  247. data/vendor/local/include/unicode/timezone.h +948 -0
  248. data/vendor/local/include/unicode/tmunit.h +129 -0
  249. data/vendor/local/include/unicode/tmutamt.h +168 -0
  250. data/vendor/local/include/unicode/tmutfmt.h +243 -0
  251. data/vendor/local/include/unicode/translit.h +1342 -0
  252. data/vendor/local/include/unicode/tzfmt.h +1098 -0
  253. data/vendor/local/include/unicode/tznames.h +404 -0
  254. data/vendor/local/include/unicode/tzrule.h +828 -0
  255. data/vendor/local/include/unicode/tztrans.h +195 -0
  256. data/vendor/local/include/unicode/ubidi.h +2186 -0
  257. data/vendor/local/include/unicode/ubrk.h +540 -0
  258. data/vendor/local/include/unicode/ucal.h +1560 -0
  259. data/vendor/local/include/unicode/ucasemap.h +423 -0
  260. data/vendor/local/include/unicode/ucat.h +158 -0
  261. data/vendor/local/include/unicode/uchar.h +3426 -0
  262. data/vendor/local/include/unicode/ucharstrie.h +576 -0
  263. data/vendor/local/include/unicode/ucharstriebuilder.h +185 -0
  264. data/vendor/local/include/unicode/uchriter.h +381 -0
  265. data/vendor/local/include/unicode/uclean.h +258 -0
  266. data/vendor/local/include/unicode/ucnv.h +2036 -0
  267. data/vendor/local/include/unicode/ucnv_cb.h +162 -0
  268. data/vendor/local/include/unicode/ucnv_err.h +463 -0
  269. data/vendor/local/include/unicode/ucnvsel.h +187 -0
  270. data/vendor/local/include/unicode/ucol.h +1474 -0
  271. data/vendor/local/include/unicode/ucoleitr.h +266 -0
  272. data/vendor/local/include/unicode/uconfig.h +430 -0
  273. data/vendor/local/include/unicode/ucsdet.h +413 -0
  274. data/vendor/local/include/unicode/ucurr.h +424 -0
  275. data/vendor/local/include/unicode/udat.h +1536 -0
  276. data/vendor/local/include/unicode/udata.h +430 -0
  277. data/vendor/local/include/unicode/udateintervalformat.h +181 -0
  278. data/vendor/local/include/unicode/udatpg.h +588 -0
  279. data/vendor/local/include/unicode/udisplaycontext.h +150 -0
  280. data/vendor/local/include/unicode/uenum.h +206 -0
  281. data/vendor/local/include/unicode/uformattable.h +280 -0
  282. data/vendor/local/include/unicode/ugender.h +82 -0
  283. data/vendor/local/include/unicode/uidna.h +762 -0
  284. data/vendor/local/include/unicode/uiter.h +707 -0
  285. data/vendor/local/include/unicode/uldnames.h +302 -0
  286. data/vendor/local/include/unicode/uloc.h +1256 -0
  287. data/vendor/local/include/unicode/ulocdata.h +277 -0
  288. data/vendor/local/include/unicode/umachine.h +356 -0
  289. data/vendor/local/include/unicode/umisc.h +60 -0
  290. data/vendor/local/include/unicode/umsg.h +623 -0
  291. data/vendor/local/include/unicode/unifilt.h +120 -0
  292. data/vendor/local/include/unicode/unifunct.h +125 -0
  293. data/vendor/local/include/unicode/unimatch.h +163 -0
  294. data/vendor/local/include/unicode/unirepl.h +97 -0
  295. data/vendor/local/include/unicode/uniset.h +1691 -0
  296. data/vendor/local/include/unicode/unistr.h +4470 -0
  297. data/vendor/local/include/unicode/unorm.h +561 -0
  298. data/vendor/local/include/unicode/unorm2.h +528 -0
  299. data/vendor/local/include/unicode/unum.h +1328 -0
  300. data/vendor/local/include/unicode/unumsys.h +170 -0
  301. data/vendor/local/include/unicode/uobject.h +320 -0
  302. data/vendor/local/include/unicode/upluralrules.h +145 -0
  303. data/vendor/local/include/unicode/uregex.h +1591 -0
  304. data/vendor/local/include/unicode/uregion.h +248 -0
  305. data/vendor/local/include/unicode/urename.h +1784 -0
  306. data/vendor/local/include/unicode/urep.h +155 -0
  307. data/vendor/local/include/unicode/ures.h +887 -0
  308. data/vendor/local/include/unicode/uscript.h +642 -0
  309. data/vendor/local/include/unicode/usearch.h +885 -0
  310. data/vendor/local/include/unicode/uset.h +1126 -0
  311. data/vendor/local/include/unicode/usetiter.h +318 -0
  312. data/vendor/local/include/unicode/ushape.h +474 -0
  313. data/vendor/local/include/unicode/uspoof.h +1064 -0
  314. data/vendor/local/include/unicode/usprep.h +269 -0
  315. data/vendor/local/include/unicode/ustdio.h +1018 -0
  316. data/vendor/local/include/unicode/ustream.h +68 -0
  317. data/vendor/local/include/unicode/ustring.h +1700 -0
  318. data/vendor/local/include/unicode/ustringtrie.h +95 -0
  319. data/vendor/local/include/unicode/utext.h +1600 -0
  320. data/vendor/local/include/unicode/utf.h +223 -0
  321. data/vendor/local/include/unicode/utf16.h +623 -0
  322. data/vendor/local/include/unicode/utf32.h +23 -0
  323. data/vendor/local/include/unicode/utf8.h +824 -0
  324. data/vendor/local/include/unicode/utf_old.h +1169 -0
  325. data/vendor/local/include/unicode/utmscale.h +481 -0
  326. data/vendor/local/include/unicode/utrace.h +359 -0
  327. data/vendor/local/include/unicode/utrans.h +658 -0
  328. data/vendor/local/include/unicode/utypes.h +723 -0
  329. data/vendor/local/include/unicode/uvernum.h +170 -0
  330. data/vendor/local/include/unicode/uversion.h +193 -0
  331. data/vendor/local/include/unicode/vtzone.h +455 -0
  332. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  333. data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
  334. data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
  335. data/vendor/local/lib/icu/54.1/Makefile.inc +293 -0
  336. data/vendor/local/lib/icu/54.1/pkgdata.inc +17 -0
  337. data/vendor/local/lib/icu/Makefile.inc +293 -0
  338. data/vendor/local/lib/icu/pkgdata.inc +17 -0
  339. data/vendor/local/lib/icudt.dll +0 -0
  340. data/vendor/local/lib/icudt54.dll +0 -0
  341. data/vendor/local/lib/icuin.dll +0 -0
  342. data/vendor/local/lib/icuin54.dll +0 -0
  343. data/vendor/local/lib/icuio.dll +0 -0
  344. data/vendor/local/lib/icuio54.dll +0 -0
  345. data/vendor/local/lib/icule.dll +0 -0
  346. data/vendor/local/lib/icule54.dll +0 -0
  347. data/vendor/local/lib/iculx.dll +0 -0
  348. data/vendor/local/lib/iculx54.dll +0 -0
  349. data/vendor/local/lib/icutest.dll +0 -0
  350. data/vendor/local/lib/icutest54.dll +0 -0
  351. data/vendor/local/lib/icutu.dll +0 -0
  352. data/vendor/local/lib/icutu54.dll +0 -0
  353. data/vendor/local/lib/icuuc.dll +0 -0
  354. data/vendor/local/lib/icuuc54.dll +0 -0
  355. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  356. data/vendor/local/lib/libharfbuzz-icu.la +41 -0
  357. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  358. data/vendor/local/lib/libharfbuzz.la +41 -0
  359. data/vendor/local/lib/libicudt.dll.a +0 -0
  360. data/vendor/local/lib/libicuin.dll.a +0 -0
  361. data/vendor/local/lib/libicuio.dll.a +0 -0
  362. data/vendor/local/lib/libicule.dll.a +0 -0
  363. data/vendor/local/lib/libiculx.dll.a +0 -0
  364. data/vendor/local/lib/libicutest.dll.a +0 -0
  365. data/vendor/local/lib/libicutu.dll.a +0 -0
  366. data/vendor/local/lib/libicuuc.dll.a +0 -0
  367. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  368. data/vendor/local/lib/libpango-1.0.la +41 -0
  369. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  370. data/vendor/local/lib/libpangocairo-1.0.la +41 -0
  371. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  372. data/vendor/local/lib/libpangoft2-1.0.la +41 -0
  373. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  374. data/vendor/local/lib/libpangowin32-1.0.la +41 -0
  375. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  376. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  377. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.la +41 -0
  378. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  379. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  380. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +41 -0
  381. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  382. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  383. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.la +41 -0
  384. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  385. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  386. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.la +41 -0
  387. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +13 -0
  388. data/vendor/local/lib/pkgconfig/harfbuzz.pc +11 -0
  389. data/vendor/local/lib/pkgconfig/icu-i18n.pc +38 -0
  390. data/vendor/local/lib/pkgconfig/icu-io.pc +38 -0
  391. data/vendor/local/lib/pkgconfig/icu-le.pc +38 -0
  392. data/vendor/local/lib/pkgconfig/icu-lx.pc +38 -0
  393. data/vendor/local/lib/pkgconfig/icu-uc.pc +38 -0
  394. data/vendor/local/lib/pkgconfig/pango.pc +14 -0
  395. data/vendor/local/lib/pkgconfig/pangocairo.pc +11 -0
  396. data/vendor/local/lib/pkgconfig/pangoft2.pc +12 -0
  397. data/vendor/local/lib/pkgconfig/pangowin32.pc +11 -0
  398. data/vendor/local/share/gir-1.0/Pango-1.0.gir +13329 -0
  399. data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +833 -0
  400. data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +354 -0
  401. data/vendor/local/share/gtk-doc/html/harfbuzz/annotation-glossary.html +75 -0
  402. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +1449 -0
  403. data/vendor/local/share/gtk-doc/html/harfbuzz/ch01.html +98 -0
  404. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +46 -0
  405. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-blob.html +610 -0
  406. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-buffer.html +1780 -0
  407. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +1337 -0
  408. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-coretext.html +144 -0
  409. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-deprecated.html +99 -0
  410. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-face.html +630 -0
  411. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +2529 -0
  412. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ft.html +188 -0
  413. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-glib.html +120 -0
  414. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +50 -0
  415. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +120 -0
  416. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-icu.html +120 -0
  417. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +771 -0
  418. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-tag.html +172 -0
  419. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot.html +50 -0
  420. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html +966 -0
  421. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +405 -0
  422. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape.html +286 -0
  423. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-unicode.html +1523 -0
  424. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-uniscribe.html +100 -0
  425. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +182 -0
  426. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb.html +50 -0
  427. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +378 -0
  428. data/vendor/local/share/gtk-doc/html/harfbuzz/home.png +0 -0
  429. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +105 -0
  430. data/vendor/local/share/gtk-doc/html/harfbuzz/index.sgml +496 -0
  431. data/vendor/local/share/gtk-doc/html/harfbuzz/left-insensitive.png +0 -0
  432. data/vendor/local/share/gtk-doc/html/harfbuzz/left.png +0 -0
  433. data/vendor/local/share/gtk-doc/html/harfbuzz/object-tree.html +59 -0
  434. data/vendor/local/share/gtk-doc/html/harfbuzz/right-insensitive.png +0 -0
  435. data/vendor/local/share/gtk-doc/html/harfbuzz/right.png +0 -0
  436. data/vendor/local/share/gtk-doc/html/harfbuzz/style.css +476 -0
  437. data/vendor/local/share/gtk-doc/html/harfbuzz/up-insensitive.png +0 -0
  438. data/vendor/local/share/gtk-doc/html/harfbuzz/up.png +0 -0
  439. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +224 -0
  440. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +255 -0
  441. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +246 -0
  442. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +500 -0
  443. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +1001 -0
  444. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +301 -0
  445. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +1219 -0
  446. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +89 -0
  447. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +135 -0
  448. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +49 -0
  449. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +64 -0
  450. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +228 -0
  451. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +152 -0
  452. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +122 -0
  453. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +87 -0
  454. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +124 -0
  455. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +97 -0
  456. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +46 -0
  457. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +39 -0
  458. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +39 -0
  459. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +53 -0
  460. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +42 -0
  461. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +38 -0
  462. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +201 -0
  463. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +165 -0
  464. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +171 -0
  465. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +284 -0
  466. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +2968 -0
  467. data/vendor/local/share/gtk-doc/html/pango/home.png +0 -0
  468. data/vendor/local/share/gtk-doc/html/pango/index.html +146 -0
  469. data/vendor/local/share/gtk-doc/html/pango/index.sgml +957 -0
  470. data/vendor/local/share/gtk-doc/html/pango/layout.gif +0 -0
  471. data/vendor/local/share/gtk-doc/html/pango/left-insensitive.png +0 -0
  472. data/vendor/local/share/gtk-doc/html/pango/left.png +0 -0
  473. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +68 -0
  474. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +514 -0
  475. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +1632 -0
  476. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +115 -0
  477. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +508 -0
  478. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +358 -0
  479. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +4154 -0
  480. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +956 -0
  481. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +2627 -0
  482. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +4153 -0
  483. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +965 -0
  484. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +331 -0
  485. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +2202 -0
  486. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +1430 -0
  487. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +582 -0
  488. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +3356 -0
  489. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +2079 -0
  490. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +325 -0
  491. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +523 -0
  492. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +1028 -0
  493. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +1275 -0
  494. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +91 -0
  495. data/vendor/local/share/gtk-doc/html/pango/pango-querymodules.html +131 -0
  496. data/vendor/local/share/gtk-doc/html/pango/pango.devhelp2 +786 -0
  497. data/vendor/local/share/gtk-doc/html/pango/pango.html +63 -0
  498. data/vendor/local/share/gtk-doc/html/pango/rendering.html +47 -0
  499. data/vendor/local/share/gtk-doc/html/pango/right-insensitive.png +0 -0
  500. data/vendor/local/share/gtk-doc/html/pango/right.png +0 -0
  501. data/vendor/local/share/gtk-doc/html/pango/rotated-text.png +0 -0
  502. data/vendor/local/share/gtk-doc/html/pango/style.css +476 -0
  503. data/vendor/local/share/gtk-doc/html/pango/tools.html +33 -0
  504. data/vendor/local/share/gtk-doc/html/pango/up-insensitive.png +0 -0
  505. data/vendor/local/share/gtk-doc/html/pango/up.png +0 -0
  506. data/vendor/local/share/icu/54.1/config/mh-mingw64 +158 -0
  507. data/vendor/local/share/icu/54.1/install-sh +251 -0
  508. data/vendor/local/share/icu/54.1/license.html +385 -0
  509. data/vendor/local/share/icu/54.1/mkinstalldirs +43 -0
  510. data/vendor/local/share/license/harfbuzz/AUTHORS +9 -0
  511. data/vendor/local/share/license/harfbuzz/COPYING +36 -0
  512. data/vendor/local/share/license/pango/AUTHORS +2 -0
  513. data/vendor/local/share/license/pango/COPYING +482 -0
  514. data/vendor/local/share/man/man1/derb.1 +196 -0
  515. data/vendor/local/share/man/man1/genbrk.1 +112 -0
  516. data/vendor/local/share/man/man1/gencfu.1 +91 -0
  517. data/vendor/local/share/man/man1/gencnval.1 +91 -0
  518. data/vendor/local/share/man/man1/gendict.1 +131 -0
  519. data/vendor/local/share/man/man1/genrb.1 +146 -0
  520. data/vendor/local/share/man/man1/icu-config.1 +288 -0
  521. data/vendor/local/share/man/man1/makeconv.1 +112 -0
  522. data/vendor/local/share/man/man1/pango-querymodules.1 +106 -0
  523. data/vendor/local/share/man/man1/pango-view.1 +1 -0
  524. data/vendor/local/share/man/man1/pkgdata.1 +258 -0
  525. data/vendor/local/share/man/man1/uconv.1 +443 -0
  526. data/vendor/local/share/man/man8/genccode.8 +106 -0
  527. data/vendor/local/share/man/man8/gencmn.8 +129 -0
  528. data/vendor/local/share/man/man8/gensprep.8 +102 -0
  529. data/vendor/local/share/man/man8/icupkg.8 +204 -0
  530. metadata +599 -0
@@ -0,0 +1,658 @@
1
+ /*
2
+ *******************************************************************************
3
+ *
4
+ * Copyright (C) 2009-2013, International Business Machines
5
+ * Corporation and others. All Rights Reserved.
6
+ *
7
+ *******************************************************************************
8
+ * file name: normalizer2.h
9
+ * encoding: US-ASCII
10
+ * tab size: 8 (not used)
11
+ * indentation:4
12
+ *
13
+ * created on: 2009nov22
14
+ * created by: Markus W. Scherer
15
+ */
16
+
17
+ #ifndef __NORMALIZER2_H__
18
+ #define __NORMALIZER2_H__
19
+
20
+ /**
21
+ * \file
22
+ * \brief C++ API: New API for Unicode Normalization.
23
+ */
24
+
25
+ #include "unicode/utypes.h"
26
+
27
+ #if !UCONFIG_NO_NORMALIZATION
28
+
29
+ #include "unicode/uniset.h"
30
+ #include "unicode/unistr.h"
31
+ #include "unicode/unorm2.h"
32
+
33
+ U_NAMESPACE_BEGIN
34
+
35
+ /**
36
+ * Unicode normalization functionality for standard Unicode normalization or
37
+ * for using custom mapping tables.
38
+ * All instances of this class are unmodifiable/immutable.
39
+ * Instances returned by getInstance() are singletons that must not be deleted by the caller.
40
+ * The Normalizer2 class is not intended for public subclassing.
41
+ *
42
+ * The primary functions are to produce a normalized string and to detect whether
43
+ * a string is already normalized.
44
+ * The most commonly used normalization forms are those defined in
45
+ * http://www.unicode.org/unicode/reports/tr15/
46
+ * However, this API supports additional normalization forms for specialized purposes.
47
+ * For example, NFKC_Casefold is provided via getInstance("nfkc_cf", COMPOSE)
48
+ * and can be used in implementations of UTS #46.
49
+ *
50
+ * Not only are the standard compose and decompose modes supplied,
51
+ * but additional modes are provided as documented in the Mode enum.
52
+ *
53
+ * Some of the functions in this class identify normalization boundaries.
54
+ * At a normalization boundary, the portions of the string
55
+ * before it and starting from it do not interact and can be handled independently.
56
+ *
57
+ * The spanQuickCheckYes() stops at a normalization boundary.
58
+ * When the goal is a normalized string, then the text before the boundary
59
+ * can be copied, and the remainder can be processed with normalizeSecondAndAppend().
60
+ *
61
+ * The hasBoundaryBefore(), hasBoundaryAfter() and isInert() functions test whether
62
+ * a character is guaranteed to be at a normalization boundary,
63
+ * regardless of context.
64
+ * This is used for moving from one normalization boundary to the next
65
+ * or preceding boundary, and for performing iterative normalization.
66
+ *
67
+ * Iterative normalization is useful when only a small portion of a
68
+ * longer string needs to be processed.
69
+ * For example, in ICU, iterative normalization is used by the NormalizationTransliterator
70
+ * (to avoid replacing already-normalized text) and ucol_nextSortKeyPart()
71
+ * (to process only the substring for which sort key bytes are computed).
72
+ *
73
+ * The set of normalization boundaries returned by these functions may not be
74
+ * complete: There may be more boundaries that could be returned.
75
+ * Different functions may return different boundaries.
76
+ * @stable ICU 4.4
77
+ */
78
+ class U_COMMON_API Normalizer2 : public UObject {
79
+ public:
80
+ /**
81
+ * Destructor.
82
+ * @stable ICU 4.4
83
+ */
84
+ ~Normalizer2();
85
+
86
+ /**
87
+ * Returns a Normalizer2 instance for Unicode NFC normalization.
88
+ * Same as getInstance(NULL, "nfc", UNORM2_COMPOSE, errorCode).
89
+ * Returns an unmodifiable singleton instance. Do not delete it.
90
+ * @param errorCode Standard ICU error code. Its input value must
91
+ * pass the U_SUCCESS() test, or else the function returns
92
+ * immediately. Check for U_FAILURE() on output or use with
93
+ * function chaining. (See User Guide for details.)
94
+ * @return the requested Normalizer2, if successful
95
+ * @stable ICU 49
96
+ */
97
+ static const Normalizer2 *
98
+ getNFCInstance(UErrorCode &errorCode);
99
+
100
+ /**
101
+ * Returns a Normalizer2 instance for Unicode NFD normalization.
102
+ * Same as getInstance(NULL, "nfc", UNORM2_DECOMPOSE, errorCode).
103
+ * Returns an unmodifiable singleton instance. Do not delete it.
104
+ * @param errorCode Standard ICU error code. Its input value must
105
+ * pass the U_SUCCESS() test, or else the function returns
106
+ * immediately. Check for U_FAILURE() on output or use with
107
+ * function chaining. (See User Guide for details.)
108
+ * @return the requested Normalizer2, if successful
109
+ * @stable ICU 49
110
+ */
111
+ static const Normalizer2 *
112
+ getNFDInstance(UErrorCode &errorCode);
113
+
114
+ /**
115
+ * Returns a Normalizer2 instance for Unicode NFKC normalization.
116
+ * Same as getInstance(NULL, "nfkc", UNORM2_COMPOSE, errorCode).
117
+ * Returns an unmodifiable singleton instance. Do not delete it.
118
+ * @param errorCode Standard ICU error code. Its input value must
119
+ * pass the U_SUCCESS() test, or else the function returns
120
+ * immediately. Check for U_FAILURE() on output or use with
121
+ * function chaining. (See User Guide for details.)
122
+ * @return the requested Normalizer2, if successful
123
+ * @stable ICU 49
124
+ */
125
+ static const Normalizer2 *
126
+ getNFKCInstance(UErrorCode &errorCode);
127
+
128
+ /**
129
+ * Returns a Normalizer2 instance for Unicode NFKD normalization.
130
+ * Same as getInstance(NULL, "nfkc", UNORM2_DECOMPOSE, errorCode).
131
+ * Returns an unmodifiable singleton instance. Do not delete it.
132
+ * @param errorCode Standard ICU error code. Its input value must
133
+ * pass the U_SUCCESS() test, or else the function returns
134
+ * immediately. Check for U_FAILURE() on output or use with
135
+ * function chaining. (See User Guide for details.)
136
+ * @return the requested Normalizer2, if successful
137
+ * @stable ICU 49
138
+ */
139
+ static const Normalizer2 *
140
+ getNFKDInstance(UErrorCode &errorCode);
141
+
142
+ /**
143
+ * Returns a Normalizer2 instance for Unicode NFKC_Casefold normalization.
144
+ * Same as getInstance(NULL, "nfkc_cf", UNORM2_COMPOSE, errorCode).
145
+ * Returns an unmodifiable singleton instance. Do not delete it.
146
+ * @param errorCode Standard ICU error code. Its input value must
147
+ * pass the U_SUCCESS() test, or else the function returns
148
+ * immediately. Check for U_FAILURE() on output or use with
149
+ * function chaining. (See User Guide for details.)
150
+ * @return the requested Normalizer2, if successful
151
+ * @stable ICU 49
152
+ */
153
+ static const Normalizer2 *
154
+ getNFKCCasefoldInstance(UErrorCode &errorCode);
155
+
156
+ /**
157
+ * Returns a Normalizer2 instance which uses the specified data file
158
+ * (packageName/name similar to ucnv_openPackage() and ures_open()/ResourceBundle)
159
+ * and which composes or decomposes text according to the specified mode.
160
+ * Returns an unmodifiable singleton instance. Do not delete it.
161
+ *
162
+ * Use packageName=NULL for data files that are part of ICU's own data.
163
+ * Use name="nfc" and UNORM2_COMPOSE/UNORM2_DECOMPOSE for Unicode standard NFC/NFD.
164
+ * Use name="nfkc" and UNORM2_COMPOSE/UNORM2_DECOMPOSE for Unicode standard NFKC/NFKD.
165
+ * Use name="nfkc_cf" and UNORM2_COMPOSE for Unicode standard NFKC_CF=NFKC_Casefold.
166
+ *
167
+ * @param packageName NULL for ICU built-in data, otherwise application data package name
168
+ * @param name "nfc" or "nfkc" or "nfkc_cf" or name of custom data file
169
+ * @param mode normalization mode (compose or decompose etc.)
170
+ * @param errorCode Standard ICU error code. Its input value must
171
+ * pass the U_SUCCESS() test, or else the function returns
172
+ * immediately. Check for U_FAILURE() on output or use with
173
+ * function chaining. (See User Guide for details.)
174
+ * @return the requested Normalizer2, if successful
175
+ * @stable ICU 4.4
176
+ */
177
+ static const Normalizer2 *
178
+ getInstance(const char *packageName,
179
+ const char *name,
180
+ UNormalization2Mode mode,
181
+ UErrorCode &errorCode);
182
+
183
+ /**
184
+ * Returns the normalized form of the source string.
185
+ * @param src source string
186
+ * @param errorCode Standard ICU error code. Its input value must
187
+ * pass the U_SUCCESS() test, or else the function returns
188
+ * immediately. Check for U_FAILURE() on output or use with
189
+ * function chaining. (See User Guide for details.)
190
+ * @return normalized src
191
+ * @stable ICU 4.4
192
+ */
193
+ UnicodeString
194
+ normalize(const UnicodeString &src, UErrorCode &errorCode) const {
195
+ UnicodeString result;
196
+ normalize(src, result, errorCode);
197
+ return result;
198
+ }
199
+ /**
200
+ * Writes the normalized form of the source string to the destination string
201
+ * (replacing its contents) and returns the destination string.
202
+ * The source and destination strings must be different objects.
203
+ * @param src source string
204
+ * @param dest destination string; its contents is replaced with normalized src
205
+ * @param errorCode Standard ICU error code. Its input value must
206
+ * pass the U_SUCCESS() test, or else the function returns
207
+ * immediately. Check for U_FAILURE() on output or use with
208
+ * function chaining. (See User Guide for details.)
209
+ * @return dest
210
+ * @stable ICU 4.4
211
+ */
212
+ virtual UnicodeString &
213
+ normalize(const UnicodeString &src,
214
+ UnicodeString &dest,
215
+ UErrorCode &errorCode) const = 0;
216
+ /**
217
+ * Appends the normalized form of the second string to the first string
218
+ * (merging them at the boundary) and returns the first string.
219
+ * The result is normalized if the first string was normalized.
220
+ * The first and second strings must be different objects.
221
+ * @param first string, should be normalized
222
+ * @param second string, will be normalized
223
+ * @param errorCode Standard ICU error code. Its input value must
224
+ * pass the U_SUCCESS() test, or else the function returns
225
+ * immediately. Check for U_FAILURE() on output or use with
226
+ * function chaining. (See User Guide for details.)
227
+ * @return first
228
+ * @stable ICU 4.4
229
+ */
230
+ virtual UnicodeString &
231
+ normalizeSecondAndAppend(UnicodeString &first,
232
+ const UnicodeString &second,
233
+ UErrorCode &errorCode) const = 0;
234
+ /**
235
+ * Appends the second string to the first string
236
+ * (merging them at the boundary) and returns the first string.
237
+ * The result is normalized if both the strings were normalized.
238
+ * The first and second strings must be different objects.
239
+ * @param first string, should be normalized
240
+ * @param second string, should be normalized
241
+ * @param errorCode Standard ICU error code. Its input value must
242
+ * pass the U_SUCCESS() test, or else the function returns
243
+ * immediately. Check for U_FAILURE() on output or use with
244
+ * function chaining. (See User Guide for details.)
245
+ * @return first
246
+ * @stable ICU 4.4
247
+ */
248
+ virtual UnicodeString &
249
+ append(UnicodeString &first,
250
+ const UnicodeString &second,
251
+ UErrorCode &errorCode) const = 0;
252
+
253
+ /**
254
+ * Gets the decomposition mapping of c.
255
+ * Roughly equivalent to normalizing the String form of c
256
+ * on a UNORM2_DECOMPOSE Normalizer2 instance, but much faster, and except that this function
257
+ * returns FALSE and does not write a string
258
+ * if c does not have a decomposition mapping in this instance's data.
259
+ * This function is independent of the mode of the Normalizer2.
260
+ * @param c code point
261
+ * @param decomposition String object which will be set to c's
262
+ * decomposition mapping, if there is one.
263
+ * @return TRUE if c has a decomposition, otherwise FALSE
264
+ * @stable ICU 4.6
265
+ */
266
+ virtual UBool
267
+ getDecomposition(UChar32 c, UnicodeString &decomposition) const = 0;
268
+
269
+ /**
270
+ * Gets the raw decomposition mapping of c.
271
+ *
272
+ * This is similar to the getDecomposition() method but returns the
273
+ * raw decomposition mapping as specified in UnicodeData.txt or
274
+ * (for custom data) in the mapping files processed by the gennorm2 tool.
275
+ * By contrast, getDecomposition() returns the processed,
276
+ * recursively-decomposed version of this mapping.
277
+ *
278
+ * When used on a standard NFKC Normalizer2 instance,
279
+ * getRawDecomposition() returns the Unicode Decomposition_Mapping (dm) property.
280
+ *
281
+ * When used on a standard NFC Normalizer2 instance,
282
+ * it returns the Decomposition_Mapping only if the Decomposition_Type (dt) is Canonical (Can);
283
+ * in this case, the result contains either one or two code points (=1..4 UChars).
284
+ *
285
+ * This function is independent of the mode of the Normalizer2.
286
+ * The default implementation returns FALSE.
287
+ * @param c code point
288
+ * @param decomposition String object which will be set to c's
289
+ * raw decomposition mapping, if there is one.
290
+ * @return TRUE if c has a decomposition, otherwise FALSE
291
+ * @stable ICU 49
292
+ */
293
+ virtual UBool
294
+ getRawDecomposition(UChar32 c, UnicodeString &decomposition) const;
295
+
296
+ /**
297
+ * Performs pairwise composition of a & b and returns the composite if there is one.
298
+ *
299
+ * Returns a composite code point c only if c has a two-way mapping to a+b.
300
+ * In standard Unicode normalization, this means that
301
+ * c has a canonical decomposition to a+b
302
+ * and c does not have the Full_Composition_Exclusion property.
303
+ *
304
+ * This function is independent of the mode of the Normalizer2.
305
+ * The default implementation returns a negative value.
306
+ * @param a A (normalization starter) code point.
307
+ * @param b Another code point.
308
+ * @return The non-negative composite code point if there is one; otherwise a negative value.
309
+ * @stable ICU 49
310
+ */
311
+ virtual UChar32
312
+ composePair(UChar32 a, UChar32 b) const;
313
+
314
+ /**
315
+ * Gets the combining class of c.
316
+ * The default implementation returns 0
317
+ * but all standard implementations return the Unicode Canonical_Combining_Class value.
318
+ * @param c code point
319
+ * @return c's combining class
320
+ * @stable ICU 49
321
+ */
322
+ virtual uint8_t
323
+ getCombiningClass(UChar32 c) const;
324
+
325
+ /**
326
+ * Tests if the string is normalized.
327
+ * Internally, in cases where the quickCheck() method would return "maybe"
328
+ * (which is only possible for the two COMPOSE modes) this method
329
+ * resolves to "yes" or "no" to provide a definitive result,
330
+ * at the cost of doing more work in those cases.
331
+ * @param s input string
332
+ * @param errorCode Standard ICU error code. Its input value must
333
+ * pass the U_SUCCESS() test, or else the function returns
334
+ * immediately. Check for U_FAILURE() on output or use with
335
+ * function chaining. (See User Guide for details.)
336
+ * @return TRUE if s is normalized
337
+ * @stable ICU 4.4
338
+ */
339
+ virtual UBool
340
+ isNormalized(const UnicodeString &s, UErrorCode &errorCode) const = 0;
341
+
342
+ /**
343
+ * Tests if the string is normalized.
344
+ * For the two COMPOSE modes, the result could be "maybe" in cases that
345
+ * would take a little more work to resolve definitively.
346
+ * Use spanQuickCheckYes() and normalizeSecondAndAppend() for a faster
347
+ * combination of quick check + normalization, to avoid
348
+ * re-checking the "yes" prefix.
349
+ * @param s input string
350
+ * @param errorCode Standard ICU error code. Its input value must
351
+ * pass the U_SUCCESS() test, or else the function returns
352
+ * immediately. Check for U_FAILURE() on output or use with
353
+ * function chaining. (See User Guide for details.)
354
+ * @return UNormalizationCheckResult
355
+ * @stable ICU 4.4
356
+ */
357
+ virtual UNormalizationCheckResult
358
+ quickCheck(const UnicodeString &s, UErrorCode &errorCode) const = 0;
359
+
360
+ /**
361
+ * Returns the end of the normalized substring of the input string.
362
+ * In other words, with <code>end=spanQuickCheckYes(s, ec);</code>
363
+ * the substring <code>UnicodeString(s, 0, end)</code>
364
+ * will pass the quick check with a "yes" result.
365
+ *
366
+ * The returned end index is usually one or more characters before the
367
+ * "no" or "maybe" character: The end index is at a normalization boundary.
368
+ * (See the class documentation for more about normalization boundaries.)
369
+ *
370
+ * When the goal is a normalized string and most input strings are expected
371
+ * to be normalized already, then call this method,
372
+ * and if it returns a prefix shorter than the input string,
373
+ * copy that prefix and use normalizeSecondAndAppend() for the remainder.
374
+ * @param s input string
375
+ * @param errorCode Standard ICU error code. Its input value must
376
+ * pass the U_SUCCESS() test, or else the function returns
377
+ * immediately. Check for U_FAILURE() on output or use with
378
+ * function chaining. (See User Guide for details.)
379
+ * @return "yes" span end index
380
+ * @stable ICU 4.4
381
+ */
382
+ virtual int32_t
383
+ spanQuickCheckYes(const UnicodeString &s, UErrorCode &errorCode) const = 0;
384
+
385
+ /**
386
+ * Tests if the character always has a normalization boundary before it,
387
+ * regardless of context.
388
+ * If true, then the character does not normalization-interact with
389
+ * preceding characters.
390
+ * In other words, a string containing this character can be normalized
391
+ * by processing portions before this character and starting from this
392
+ * character independently.
393
+ * This is used for iterative normalization. See the class documentation for details.
394
+ * @param c character to test
395
+ * @return TRUE if c has a normalization boundary before it
396
+ * @stable ICU 4.4
397
+ */
398
+ virtual UBool hasBoundaryBefore(UChar32 c) const = 0;
399
+
400
+ /**
401
+ * Tests if the character always has a normalization boundary after it,
402
+ * regardless of context.
403
+ * If true, then the character does not normalization-interact with
404
+ * following characters.
405
+ * In other words, a string containing this character can be normalized
406
+ * by processing portions up to this character and after this
407
+ * character independently.
408
+ * This is used for iterative normalization. See the class documentation for details.
409
+ * Note that this operation may be significantly slower than hasBoundaryBefore().
410
+ * @param c character to test
411
+ * @return TRUE if c has a normalization boundary after it
412
+ * @stable ICU 4.4
413
+ */
414
+ virtual UBool hasBoundaryAfter(UChar32 c) const = 0;
415
+
416
+ /**
417
+ * Tests if the character is normalization-inert.
418
+ * If true, then the character does not change, nor normalization-interact with
419
+ * preceding or following characters.
420
+ * In other words, a string containing this character can be normalized
421
+ * by processing portions before this character and after this
422
+ * character independently.
423
+ * This is used for iterative normalization. See the class documentation for details.
424
+ * Note that this operation may be significantly slower than hasBoundaryBefore().
425
+ * @param c character to test
426
+ * @return TRUE if c is normalization-inert
427
+ * @stable ICU 4.4
428
+ */
429
+ virtual UBool isInert(UChar32 c) const = 0;
430
+ };
431
+
432
+ /**
433
+ * Normalization filtered by a UnicodeSet.
434
+ * Normalizes portions of the text contained in the filter set and leaves
435
+ * portions not contained in the filter set unchanged.
436
+ * Filtering is done via UnicodeSet::span(..., USET_SPAN_SIMPLE).
437
+ * Not-in-the-filter text is treated as "is normalized" and "quick check yes".
438
+ * This class implements all of (and only) the Normalizer2 API.
439
+ * An instance of this class is unmodifiable/immutable but is constructed and
440
+ * must be destructed by the owner.
441
+ * @stable ICU 4.4
442
+ */
443
+ class U_COMMON_API FilteredNormalizer2 : public Normalizer2 {
444
+ public:
445
+ /**
446
+ * Constructs a filtered normalizer wrapping any Normalizer2 instance
447
+ * and a filter set.
448
+ * Both are aliased and must not be modified or deleted while this object
449
+ * is used.
450
+ * The filter set should be frozen; otherwise the performance will suffer greatly.
451
+ * @param n2 wrapped Normalizer2 instance
452
+ * @param filterSet UnicodeSet which determines the characters to be normalized
453
+ * @stable ICU 4.4
454
+ */
455
+ FilteredNormalizer2(const Normalizer2 &n2, const UnicodeSet &filterSet) :
456
+ norm2(n2), set(filterSet) {}
457
+
458
+ /**
459
+ * Destructor.
460
+ * @stable ICU 4.4
461
+ */
462
+ ~FilteredNormalizer2();
463
+
464
+ /**
465
+ * Writes the normalized form of the source string to the destination string
466
+ * (replacing its contents) and returns the destination string.
467
+ * The source and destination strings must be different objects.
468
+ * @param src source string
469
+ * @param dest destination string; its contents is replaced with normalized src
470
+ * @param errorCode Standard ICU error code. Its input value must
471
+ * pass the U_SUCCESS() test, or else the function returns
472
+ * immediately. Check for U_FAILURE() on output or use with
473
+ * function chaining. (See User Guide for details.)
474
+ * @return dest
475
+ * @stable ICU 4.4
476
+ */
477
+ virtual UnicodeString &
478
+ normalize(const UnicodeString &src,
479
+ UnicodeString &dest,
480
+ UErrorCode &errorCode) const;
481
+ /**
482
+ * Appends the normalized form of the second string to the first string
483
+ * (merging them at the boundary) and returns the first string.
484
+ * The result is normalized if the first string was normalized.
485
+ * The first and second strings must be different objects.
486
+ * @param first string, should be normalized
487
+ * @param second string, will be normalized
488
+ * @param errorCode Standard ICU error code. Its input value must
489
+ * pass the U_SUCCESS() test, or else the function returns
490
+ * immediately. Check for U_FAILURE() on output or use with
491
+ * function chaining. (See User Guide for details.)
492
+ * @return first
493
+ * @stable ICU 4.4
494
+ */
495
+ virtual UnicodeString &
496
+ normalizeSecondAndAppend(UnicodeString &first,
497
+ const UnicodeString &second,
498
+ UErrorCode &errorCode) const;
499
+ /**
500
+ * Appends the second string to the first string
501
+ * (merging them at the boundary) and returns the first string.
502
+ * The result is normalized if both the strings were normalized.
503
+ * The first and second strings must be different objects.
504
+ * @param first string, should be normalized
505
+ * @param second string, should be normalized
506
+ * @param errorCode Standard ICU error code. Its input value must
507
+ * pass the U_SUCCESS() test, or else the function returns
508
+ * immediately. Check for U_FAILURE() on output or use with
509
+ * function chaining. (See User Guide for details.)
510
+ * @return first
511
+ * @stable ICU 4.4
512
+ */
513
+ virtual UnicodeString &
514
+ append(UnicodeString &first,
515
+ const UnicodeString &second,
516
+ UErrorCode &errorCode) const;
517
+
518
+ /**
519
+ * Gets the decomposition mapping of c.
520
+ * For details see the base class documentation.
521
+ *
522
+ * This function is independent of the mode of the Normalizer2.
523
+ * @param c code point
524
+ * @param decomposition String object which will be set to c's
525
+ * decomposition mapping, if there is one.
526
+ * @return TRUE if c has a decomposition, otherwise FALSE
527
+ * @stable ICU 4.6
528
+ */
529
+ virtual UBool
530
+ getDecomposition(UChar32 c, UnicodeString &decomposition) const;
531
+
532
+ /**
533
+ * Gets the raw decomposition mapping of c.
534
+ * For details see the base class documentation.
535
+ *
536
+ * This function is independent of the mode of the Normalizer2.
537
+ * @param c code point
538
+ * @param decomposition String object which will be set to c's
539
+ * raw decomposition mapping, if there is one.
540
+ * @return TRUE if c has a decomposition, otherwise FALSE
541
+ * @stable ICU 49
542
+ */
543
+ virtual UBool
544
+ getRawDecomposition(UChar32 c, UnicodeString &decomposition) const;
545
+
546
+ /**
547
+ * Performs pairwise composition of a & b and returns the composite if there is one.
548
+ * For details see the base class documentation.
549
+ *
550
+ * This function is independent of the mode of the Normalizer2.
551
+ * @param a A (normalization starter) code point.
552
+ * @param b Another code point.
553
+ * @return The non-negative composite code point if there is one; otherwise a negative value.
554
+ * @stable ICU 49
555
+ */
556
+ virtual UChar32
557
+ composePair(UChar32 a, UChar32 b) const;
558
+
559
+ /**
560
+ * Gets the combining class of c.
561
+ * The default implementation returns 0
562
+ * but all standard implementations return the Unicode Canonical_Combining_Class value.
563
+ * @param c code point
564
+ * @return c's combining class
565
+ * @stable ICU 49
566
+ */
567
+ virtual uint8_t
568
+ getCombiningClass(UChar32 c) const;
569
+
570
+ /**
571
+ * Tests if the string is normalized.
572
+ * For details see the Normalizer2 base class documentation.
573
+ * @param s input string
574
+ * @param errorCode Standard ICU error code. Its input value must
575
+ * pass the U_SUCCESS() test, or else the function returns
576
+ * immediately. Check for U_FAILURE() on output or use with
577
+ * function chaining. (See User Guide for details.)
578
+ * @return TRUE if s is normalized
579
+ * @stable ICU 4.4
580
+ */
581
+ virtual UBool
582
+ isNormalized(const UnicodeString &s, UErrorCode &errorCode) const;
583
+ /**
584
+ * Tests if the string is normalized.
585
+ * For details see the Normalizer2 base class documentation.
586
+ * @param s input string
587
+ * @param errorCode Standard ICU error code. Its input value must
588
+ * pass the U_SUCCESS() test, or else the function returns
589
+ * immediately. Check for U_FAILURE() on output or use with
590
+ * function chaining. (See User Guide for details.)
591
+ * @return UNormalizationCheckResult
592
+ * @stable ICU 4.4
593
+ */
594
+ virtual UNormalizationCheckResult
595
+ quickCheck(const UnicodeString &s, UErrorCode &errorCode) const;
596
+ /**
597
+ * Returns the end of the normalized substring of the input string.
598
+ * For details see the Normalizer2 base class documentation.
599
+ * @param s input string
600
+ * @param errorCode Standard ICU error code. Its input value must
601
+ * pass the U_SUCCESS() test, or else the function returns
602
+ * immediately. Check for U_FAILURE() on output or use with
603
+ * function chaining. (See User Guide for details.)
604
+ * @return "yes" span end index
605
+ * @stable ICU 4.4
606
+ */
607
+ virtual int32_t
608
+ spanQuickCheckYes(const UnicodeString &s, UErrorCode &errorCode) const;
609
+
610
+ /**
611
+ * Tests if the character always has a normalization boundary before it,
612
+ * regardless of context.
613
+ * For details see the Normalizer2 base class documentation.
614
+ * @param c character to test
615
+ * @return TRUE if c has a normalization boundary before it
616
+ * @stable ICU 4.4
617
+ */
618
+ virtual UBool hasBoundaryBefore(UChar32 c) const;
619
+
620
+ /**
621
+ * Tests if the character always has a normalization boundary after it,
622
+ * regardless of context.
623
+ * For details see the Normalizer2 base class documentation.
624
+ * @param c character to test
625
+ * @return TRUE if c has a normalization boundary after it
626
+ * @stable ICU 4.4
627
+ */
628
+ virtual UBool hasBoundaryAfter(UChar32 c) const;
629
+
630
+ /**
631
+ * Tests if the character is normalization-inert.
632
+ * For details see the Normalizer2 base class documentation.
633
+ * @param c character to test
634
+ * @return TRUE if c is normalization-inert
635
+ * @stable ICU 4.4
636
+ */
637
+ virtual UBool isInert(UChar32 c) const;
638
+ private:
639
+ UnicodeString &
640
+ normalize(const UnicodeString &src,
641
+ UnicodeString &dest,
642
+ USetSpanCondition spanCondition,
643
+ UErrorCode &errorCode) const;
644
+
645
+ UnicodeString &
646
+ normalizeSecondAndAppend(UnicodeString &first,
647
+ const UnicodeString &second,
648
+ UBool doNormalize,
649
+ UErrorCode &errorCode) const;
650
+
651
+ const Normalizer2 &norm2;
652
+ const UnicodeSet &set;
653
+ };
654
+
655
+ U_NAMESPACE_END
656
+
657
+ #endif // !UCONFIG_NO_NORMALIZATION
658
+ #endif // __NORMALIZER2_H__