cairo 1.14.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cairo might be problematic. Click here for more details.

Files changed (636) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +7 -0
  3. data/COPYING +59 -0
  4. data/GPL +340 -0
  5. data/Gemfile +5 -0
  6. data/NEWS +429 -0
  7. data/README.rdoc +120 -0
  8. data/Rakefile +620 -0
  9. data/ext/cairo/cairo.def +140 -0
  10. data/ext/cairo/depend +3 -0
  11. data/ext/cairo/extconf.rb +202 -0
  12. data/ext/cairo/rb_cairo.c +111 -0
  13. data/ext/cairo/rb_cairo.h +348 -0
  14. data/ext/cairo/rb_cairo_constants.c +673 -0
  15. data/ext/cairo/rb_cairo_context.c +1741 -0
  16. data/ext/cairo/rb_cairo_device.c +475 -0
  17. data/ext/cairo/rb_cairo_exception.c +446 -0
  18. data/ext/cairo/rb_cairo_font_extents.c +200 -0
  19. data/ext/cairo/rb_cairo_font_face.c +726 -0
  20. data/ext/cairo/rb_cairo_font_options.c +197 -0
  21. data/ext/cairo/rb_cairo_glyph.c +161 -0
  22. data/ext/cairo/rb_cairo_io.c +166 -0
  23. data/ext/cairo/rb_cairo_io.h +44 -0
  24. data/ext/cairo/rb_cairo_matrix.c +366 -0
  25. data/ext/cairo/rb_cairo_path.c +459 -0
  26. data/ext/cairo/rb_cairo_pattern.c +1192 -0
  27. data/ext/cairo/rb_cairo_private.c +255 -0
  28. data/ext/cairo/rb_cairo_private.h +129 -0
  29. data/ext/cairo/rb_cairo_rectangle.c +83 -0
  30. data/ext/cairo/rb_cairo_region.c +385 -0
  31. data/ext/cairo/rb_cairo_scaled_font.c +235 -0
  32. data/ext/cairo/rb_cairo_surface.c +2284 -0
  33. data/ext/cairo/rb_cairo_text_cluster.c +151 -0
  34. data/ext/cairo/rb_cairo_text_extents.c +221 -0
  35. data/lib/2.0/cairo.so +0 -0
  36. data/lib/2.1/cairo.so +0 -0
  37. data/lib/2.2/cairo.so +0 -0
  38. data/lib/cairo.rb +154 -0
  39. data/lib/cairo/color.rb +267 -0
  40. data/lib/cairo/colors.rb +656 -0
  41. data/lib/cairo/constants.rb +24 -0
  42. data/lib/cairo/context.rb +29 -0
  43. data/lib/cairo/context/blur.rb +45 -0
  44. data/lib/cairo/context/circle.rb +9 -0
  45. data/lib/cairo/context/color.rb +11 -0
  46. data/lib/cairo/context/path.rb +117 -0
  47. data/lib/cairo/context/rectangle.rb +33 -0
  48. data/lib/cairo/context/triangle.rb +12 -0
  49. data/lib/cairo/device.rb +13 -0
  50. data/lib/cairo/paper.rb +183 -0
  51. data/lib/cairo/papers.rb +65 -0
  52. data/lib/cairo/path.rb +15 -0
  53. data/lib/cairo/pattern.rb +12 -0
  54. data/lib/cairo/point.rb +7 -0
  55. data/lib/cairo/surface.rb +13 -0
  56. data/samples/agg/aa_test.rb +304 -0
  57. data/samples/blur.rb +46 -0
  58. data/samples/pac-nomralize.rb +170 -0
  59. data/samples/pac-tee.rb +170 -0
  60. data/samples/pac.rb +98 -0
  61. data/samples/png.rb +44 -0
  62. data/samples/scalable.rb +55 -0
  63. data/samples/text-on-path.rb +59 -0
  64. data/samples/text2.rb +130 -0
  65. data/test/cairo-test-utils.rb +44 -0
  66. data/test/run-test.rb +29 -0
  67. data/test/test_color.rb +17 -0
  68. data/test/test_constants.rb +27 -0
  69. data/test/test_context.rb +105 -0
  70. data/test/test_exception.rb +36 -0
  71. data/test/test_font_extents.rb +36 -0
  72. data/test/test_font_face.rb +257 -0
  73. data/test/test_font_options.rb +13 -0
  74. data/test/test_image_surface.rb +28 -0
  75. data/test/test_paper.rb +81 -0
  76. data/test/test_quartz_image_surface.rb +13 -0
  77. data/test/test_raster_source_pattern.rb +162 -0
  78. data/test/test_recording_surface.rb +19 -0
  79. data/test/test_region.rb +102 -0
  80. data/test/test_scaled_font.rb +34 -0
  81. data/test/test_script_device.rb +46 -0
  82. data/test/test_script_surface.rb +13 -0
  83. data/test/test_surface.rb +61 -0
  84. data/test/test_tee_surface.rb +32 -0
  85. data/test/test_text_cluster.rb +32 -0
  86. data/test/test_text_extents.rb +40 -0
  87. data/test/test_text_to_glyphs_data.rb +51 -0
  88. data/test/test_xml_device.rb +22 -0
  89. data/test/test_xml_surface.rb +34 -0
  90. data/vendor/local/bin/fc-cache.exe +0 -0
  91. data/vendor/local/bin/fc-cat.exe +0 -0
  92. data/vendor/local/bin/fc-list.exe +0 -0
  93. data/vendor/local/bin/fc-match.exe +0 -0
  94. data/vendor/local/bin/fc-pattern.exe +0 -0
  95. data/vendor/local/bin/fc-query.exe +0 -0
  96. data/vendor/local/bin/fc-scan.exe +0 -0
  97. data/vendor/local/bin/fc-validate.exe +0 -0
  98. data/vendor/local/bin/freetype-config +163 -0
  99. data/vendor/local/bin/libcairo-2.dll +0 -0
  100. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  101. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  102. data/vendor/local/bin/libfontconfig-1.dll +0 -0
  103. data/vendor/local/bin/libfreetype-6.dll +0 -0
  104. data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
  105. data/vendor/local/bin/libpixman-1-0.dll +0 -0
  106. data/vendor/local/bin/libpng-config +127 -0
  107. data/vendor/local/bin/libpng16-16.dll +0 -0
  108. data/vendor/local/bin/libpng16-config +127 -0
  109. data/vendor/local/bin/libstdc++-6.dll +0 -0
  110. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  111. data/vendor/local/bin/libxml2-2.dll +0 -0
  112. data/vendor/local/bin/png-fix-itxt.exe +0 -0
  113. data/vendor/local/bin/pngfix.exe +0 -0
  114. data/vendor/local/bin/xml2-config +106 -0
  115. data/vendor/local/bin/xmlcatalog.exe +0 -0
  116. data/vendor/local/bin/xmllint.exe +0 -0
  117. data/vendor/local/bin/zlib1.dll +0 -0
  118. data/vendor/local/etc/fonts/conf.d/10-scale-bitmap-fonts.conf +81 -0
  119. data/vendor/local/etc/fonts/conf.d/20-unhint-small-vera.conf +48 -0
  120. data/vendor/local/etc/fonts/conf.d/30-metric-aliases.conf +546 -0
  121. data/vendor/local/etc/fonts/conf.d/30-urw-aliases.conf +24 -0
  122. data/vendor/local/etc/fonts/conf.d/40-nonlatin.conf +231 -0
  123. data/vendor/local/etc/fonts/conf.d/45-latin.conf +189 -0
  124. data/vendor/local/etc/fonts/conf.d/49-sansserif.conf +21 -0
  125. data/vendor/local/etc/fonts/conf.d/50-user.conf +15 -0
  126. data/vendor/local/etc/fonts/conf.d/51-local.conf +6 -0
  127. data/vendor/local/etc/fonts/conf.d/60-latin.conf +70 -0
  128. data/vendor/local/etc/fonts/conf.d/65-fonts-persian.conf +419 -0
  129. data/vendor/local/etc/fonts/conf.d/65-nonlatin.conf +196 -0
  130. data/vendor/local/etc/fonts/conf.d/69-unifont.conf +28 -0
  131. data/vendor/local/etc/fonts/conf.d/80-delicious.conf +19 -0
  132. data/vendor/local/etc/fonts/conf.d/90-synthetic.conf +64 -0
  133. data/vendor/local/etc/fonts/conf.d/README +23 -0
  134. data/vendor/local/etc/fonts/fonts.conf +155 -0
  135. data/vendor/local/include/cairo/cairo-deprecated.h +123 -0
  136. data/vendor/local/include/cairo/cairo-features.h +31 -0
  137. data/vendor/local/include/cairo/cairo-ft.h +118 -0
  138. data/vendor/local/include/cairo/cairo-gobject.h +192 -0
  139. data/vendor/local/include/cairo/cairo-pdf.h +94 -0
  140. data/vendor/local/include/cairo/cairo-ps.h +116 -0
  141. data/vendor/local/include/cairo/cairo-script-interpreter.h +124 -0
  142. data/vendor/local/include/cairo/cairo-script.h +98 -0
  143. data/vendor/local/include/cairo/cairo-svg.h +84 -0
  144. data/vendor/local/include/cairo/cairo-version.h +8 -0
  145. data/vendor/local/include/cairo/cairo-win32.h +112 -0
  146. data/vendor/local/include/cairo/cairo.h +3153 -0
  147. data/vendor/local/include/fontconfig/fcfreetype.h +59 -0
  148. data/vendor/local/include/fontconfig/fcprivate.h +124 -0
  149. data/vendor/local/include/fontconfig/fontconfig.h +1010 -0
  150. data/vendor/local/include/freetype2/config/ftconfig.h +706 -0
  151. data/vendor/local/include/freetype2/config/ftheader.h +832 -0
  152. data/vendor/local/include/freetype2/config/ftmodule.h +20 -0
  153. data/vendor/local/include/freetype2/config/ftoption.h +846 -0
  154. data/vendor/local/include/freetype2/config/ftstdlib.h +174 -0
  155. data/vendor/local/include/freetype2/freetype.h +4076 -0
  156. data/vendor/local/include/freetype2/ft2build.h +42 -0
  157. data/vendor/local/include/freetype2/ftadvanc.h +182 -0
  158. data/vendor/local/include/freetype2/ftautoh.h +402 -0
  159. data/vendor/local/include/freetype2/ftbbox.h +102 -0
  160. data/vendor/local/include/freetype2/ftbdf.h +210 -0
  161. data/vendor/local/include/freetype2/ftbitmap.h +227 -0
  162. data/vendor/local/include/freetype2/ftbzip2.h +102 -0
  163. data/vendor/local/include/freetype2/ftcache.h +1057 -0
  164. data/vendor/local/include/freetype2/ftcffdrv.h +254 -0
  165. data/vendor/local/include/freetype2/ftchapters.h +121 -0
  166. data/vendor/local/include/freetype2/ftcid.h +166 -0
  167. data/vendor/local/include/freetype2/fterrdef.h +249 -0
  168. data/vendor/local/include/freetype2/fterrors.h +198 -0
  169. data/vendor/local/include/freetype2/ftgasp.h +128 -0
  170. data/vendor/local/include/freetype2/ftglyph.h +620 -0
  171. data/vendor/local/include/freetype2/ftgxval.h +358 -0
  172. data/vendor/local/include/freetype2/ftgzip.h +149 -0
  173. data/vendor/local/include/freetype2/ftimage.h +1322 -0
  174. data/vendor/local/include/freetype2/ftincrem.h +353 -0
  175. data/vendor/local/include/freetype2/ftlcdfil.h +251 -0
  176. data/vendor/local/include/freetype2/ftlist.h +277 -0
  177. data/vendor/local/include/freetype2/ftlzw.h +99 -0
  178. data/vendor/local/include/freetype2/ftmac.h +274 -0
  179. data/vendor/local/include/freetype2/ftmm.h +377 -0
  180. data/vendor/local/include/freetype2/ftmodapi.h +641 -0
  181. data/vendor/local/include/freetype2/ftmoderr.h +194 -0
  182. data/vendor/local/include/freetype2/ftotval.h +203 -0
  183. data/vendor/local/include/freetype2/ftoutln.h +572 -0
  184. data/vendor/local/include/freetype2/ftpfr.h +172 -0
  185. data/vendor/local/include/freetype2/ftrender.h +238 -0
  186. data/vendor/local/include/freetype2/ftsizes.h +159 -0
  187. data/vendor/local/include/freetype2/ftsnames.h +200 -0
  188. data/vendor/local/include/freetype2/ftstroke.h +751 -0
  189. data/vendor/local/include/freetype2/ftsynth.h +81 -0
  190. data/vendor/local/include/freetype2/ftsystem.h +347 -0
  191. data/vendor/local/include/freetype2/fttrigon.h +350 -0
  192. data/vendor/local/include/freetype2/ftttdrv.h +170 -0
  193. data/vendor/local/include/freetype2/fttypes.h +598 -0
  194. data/vendor/local/include/freetype2/ftwinfnt.h +275 -0
  195. data/vendor/local/include/freetype2/ftxf86.h +83 -0
  196. data/vendor/local/include/freetype2/t1tables.h +662 -0
  197. data/vendor/local/include/freetype2/ttnameid.h +1237 -0
  198. data/vendor/local/include/freetype2/tttables.h +787 -0
  199. data/vendor/local/include/freetype2/tttags.h +111 -0
  200. data/vendor/local/include/freetype2/ttunpat.h +59 -0
  201. data/vendor/local/include/libpng16/png.h +3276 -0
  202. data/vendor/local/include/libpng16/pngconf.h +644 -0
  203. data/vendor/local/include/libpng16/pnglibconf.h +208 -0
  204. data/vendor/local/include/libxml2/libxml/DOCBparser.h +96 -0
  205. data/vendor/local/include/libxml2/libxml/HTMLparser.h +306 -0
  206. data/vendor/local/include/libxml2/libxml/HTMLtree.h +147 -0
  207. data/vendor/local/include/libxml2/libxml/SAX.h +173 -0
  208. data/vendor/local/include/libxml2/libxml/SAX2.h +178 -0
  209. data/vendor/local/include/libxml2/libxml/c14n.h +126 -0
  210. data/vendor/local/include/libxml2/libxml/catalog.h +182 -0
  211. data/vendor/local/include/libxml2/libxml/chvalid.h +230 -0
  212. data/vendor/local/include/libxml2/libxml/debugXML.h +217 -0
  213. data/vendor/local/include/libxml2/libxml/dict.h +80 -0
  214. data/vendor/local/include/libxml2/libxml/encoding.h +240 -0
  215. data/vendor/local/include/libxml2/libxml/entities.h +151 -0
  216. data/vendor/local/include/libxml2/libxml/globals.h +509 -0
  217. data/vendor/local/include/libxml2/libxml/hash.h +233 -0
  218. data/vendor/local/include/libxml2/libxml/list.h +137 -0
  219. data/vendor/local/include/libxml2/libxml/nanoftp.h +163 -0
  220. data/vendor/local/include/libxml2/libxml/nanohttp.h +81 -0
  221. data/vendor/local/include/libxml2/libxml/parser.h +1241 -0
  222. data/vendor/local/include/libxml2/libxml/parserInternals.h +644 -0
  223. data/vendor/local/include/libxml2/libxml/pattern.h +100 -0
  224. data/vendor/local/include/libxml2/libxml/relaxng.h +217 -0
  225. data/vendor/local/include/libxml2/libxml/schemasInternals.h +958 -0
  226. data/vendor/local/include/libxml2/libxml/schematron.h +142 -0
  227. data/vendor/local/include/libxml2/libxml/threads.h +84 -0
  228. data/vendor/local/include/libxml2/libxml/tree.h +1310 -0
  229. data/vendor/local/include/libxml2/libxml/uri.h +94 -0
  230. data/vendor/local/include/libxml2/libxml/valid.h +458 -0
  231. data/vendor/local/include/libxml2/libxml/xinclude.h +129 -0
  232. data/vendor/local/include/libxml2/libxml/xlink.h +189 -0
  233. data/vendor/local/include/libxml2/libxml/xmlIO.h +366 -0
  234. data/vendor/local/include/libxml2/libxml/xmlautomata.h +146 -0
  235. data/vendor/local/include/libxml2/libxml/xmlerror.h +945 -0
  236. data/vendor/local/include/libxml2/libxml/xmlexports.h +162 -0
  237. data/vendor/local/include/libxml2/libxml/xmlmemory.h +224 -0
  238. data/vendor/local/include/libxml2/libxml/xmlmodule.h +57 -0
  239. data/vendor/local/include/libxml2/libxml/xmlreader.h +428 -0
  240. data/vendor/local/include/libxml2/libxml/xmlregexp.h +222 -0
  241. data/vendor/local/include/libxml2/libxml/xmlsave.h +88 -0
  242. data/vendor/local/include/libxml2/libxml/xmlschemas.h +246 -0
  243. data/vendor/local/include/libxml2/libxml/xmlschemastypes.h +151 -0
  244. data/vendor/local/include/libxml2/libxml/xmlstring.h +140 -0
  245. data/vendor/local/include/libxml2/libxml/xmlunicode.h +202 -0
  246. data/vendor/local/include/libxml2/libxml/xmlversion.h +489 -0
  247. data/vendor/local/include/libxml2/libxml/xmlwriter.h +488 -0
  248. data/vendor/local/include/libxml2/libxml/xpath.h +557 -0
  249. data/vendor/local/include/libxml2/libxml/xpathInternals.h +632 -0
  250. data/vendor/local/include/libxml2/libxml/xpointer.h +114 -0
  251. data/vendor/local/include/pixman-1/pixman-version.h +50 -0
  252. data/vendor/local/include/pixman-1/pixman.h +1111 -0
  253. data/vendor/local/include/png.h +3276 -0
  254. data/vendor/local/include/pngconf.h +644 -0
  255. data/vendor/local/include/pnglibconf.h +208 -0
  256. data/vendor/local/include/zconf.h +511 -0
  257. data/vendor/local/include/zlib.h +1768 -0
  258. data/vendor/local/lib/cmake/libxml2/libxml2-config.cmake +50 -0
  259. data/vendor/local/lib/fontconfig.def +207 -0
  260. data/vendor/local/lib/libcairo-gobject.a +0 -0
  261. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  262. data/vendor/local/lib/libcairo-gobject.la +41 -0
  263. data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
  264. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  265. data/vendor/local/lib/libcairo-script-interpreter.la +41 -0
  266. data/vendor/local/lib/libcairo.a +0 -0
  267. data/vendor/local/lib/libcairo.dll.a +0 -0
  268. data/vendor/local/lib/libcairo.la +41 -0
  269. data/vendor/local/lib/libfontconfig.dll.a +0 -0
  270. data/vendor/local/lib/libfontconfig.la +41 -0
  271. data/vendor/local/lib/libfreetype.a +0 -0
  272. data/vendor/local/lib/libfreetype.dll.a +0 -0
  273. data/vendor/local/lib/libfreetype.la +41 -0
  274. data/vendor/local/lib/libpixman-1.a +0 -0
  275. data/vendor/local/lib/libpixman-1.dll.a +0 -0
  276. data/vendor/local/lib/libpixman-1.la +41 -0
  277. data/vendor/local/lib/libpng.a +0 -0
  278. data/vendor/local/lib/libpng.dll.a +0 -0
  279. data/vendor/local/lib/libpng.la +41 -0
  280. data/vendor/local/lib/libpng16.a +0 -0
  281. data/vendor/local/lib/libpng16.dll.a +0 -0
  282. data/vendor/local/lib/libpng16.la +41 -0
  283. data/vendor/local/lib/libxml2.a +0 -0
  284. data/vendor/local/lib/libxml2.dll.a +0 -0
  285. data/vendor/local/lib/libxml2.la +41 -0
  286. data/vendor/local/lib/libz.a +0 -0
  287. data/vendor/local/lib/libz.dll.a +0 -0
  288. data/vendor/local/lib/pkgconfig/cairo-fc.pc +12 -0
  289. data/vendor/local/lib/pkgconfig/cairo-ft.pc +12 -0
  290. data/vendor/local/lib/pkgconfig/cairo-gobject.pc +12 -0
  291. data/vendor/local/lib/pkgconfig/cairo-pdf.pc +12 -0
  292. data/vendor/local/lib/pkgconfig/cairo-png.pc +12 -0
  293. data/vendor/local/lib/pkgconfig/cairo-ps.pc +12 -0
  294. data/vendor/local/lib/pkgconfig/cairo-script.pc +12 -0
  295. data/vendor/local/lib/pkgconfig/cairo-svg.pc +12 -0
  296. data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +12 -0
  297. data/vendor/local/lib/pkgconfig/cairo-win32.pc +12 -0
  298. data/vendor/local/lib/pkgconfig/cairo.pc +13 -0
  299. data/vendor/local/lib/pkgconfig/fontconfig.pc +18 -0
  300. data/vendor/local/lib/pkgconfig/freetype2.pc +14 -0
  301. data/vendor/local/lib/pkgconfig/libpng.pc +11 -0
  302. data/vendor/local/lib/pkgconfig/libpng16.pc +11 -0
  303. data/vendor/local/lib/pkgconfig/libxml-2.0.pc +13 -0
  304. data/vendor/local/lib/pkgconfig/pixman-1.pc +11 -0
  305. data/vendor/local/lib/pkgconfig/zlib.pc +13 -0
  306. data/vendor/local/lib/xml2Conf.sh +8 -0
  307. data/vendor/local/share/aclocal/freetype2.m4 +194 -0
  308. data/vendor/local/share/aclocal/libxml.m4 +188 -0
  309. data/vendor/local/share/doc/libxml2-2.9.2/Copyright +23 -0
  310. data/vendor/local/share/doc/libxml2-2.9.2/examples/testHTML.c +880 -0
  311. data/vendor/local/share/doc/libxml2-2.9.2/examples/testSAX.c +1198 -0
  312. data/vendor/local/share/doc/libxml2-2.9.2/examples/testXPath.c +229 -0
  313. data/vendor/local/share/doc/libxml2-2.9.2/examples/xmllint.c +3801 -0
  314. data/vendor/local/share/doc/libxml2-2.9.2/html/DOM.gif +0 -0
  315. data/vendor/local/share/doc/libxml2-2.9.2/html/FAQ.html +299 -0
  316. data/vendor/local/share/doc/libxml2-2.9.2/html/Libxml2-Logo-180x168.gif +0 -0
  317. data/vendor/local/share/doc/libxml2-2.9.2/html/Libxml2-Logo-90x34.gif +0 -0
  318. data/vendor/local/share/doc/libxml2-2.9.2/html/encoding.html +217 -0
  319. data/vendor/local/share/doc/libxml2-2.9.2/html/examples.xml +751 -0
  320. data/vendor/local/share/doc/libxml2-2.9.2/html/examples.xsl +174 -0
  321. data/vendor/local/share/doc/libxml2-2.9.2/html/html/book1.html +13 -0
  322. data/vendor/local/share/doc/libxml2-2.9.2/html/html/home.png +0 -0
  323. data/vendor/local/share/doc/libxml2-2.9.2/html/html/index.html +13 -0
  324. data/vendor/local/share/doc/libxml2-2.9.2/html/html/left.png +0 -0
  325. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-DOCBparser.html +51 -0
  326. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-HTMLparser.html +184 -0
  327. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-HTMLtree.html +73 -0
  328. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-SAX.html +125 -0
  329. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-SAX2.html +128 -0
  330. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-c14n.html +38 -0
  331. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-catalog.html +142 -0
  332. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-chvalid.html +72 -0
  333. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-debugXML.html +120 -0
  334. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-dict.html +58 -0
  335. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-encoding.html +124 -0
  336. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-entities.html +79 -0
  337. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-globals.html +152 -0
  338. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-hash.html +116 -0
  339. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-lib.html +13 -0
  340. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-list.html +120 -0
  341. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-nanoftp.html +94 -0
  342. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-nanohttp.html +65 -0
  343. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-parser.html +559 -0
  344. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-parserInternals.html +322 -0
  345. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-pattern.html +76 -0
  346. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-relaxng.html +162 -0
  347. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-schemasInternals.html +373 -0
  348. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-schematron.html +81 -0
  349. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-threads.html +72 -0
  350. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-tree.html +990 -0
  351. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-uri.html +73 -0
  352. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-valid.html +289 -0
  353. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xinclude.html +59 -0
  354. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xlink.html +82 -0
  355. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlIO.html +212 -0
  356. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlautomata.html +85 -0
  357. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlerror.html +865 -0
  358. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlexports.html +20 -0
  359. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlmemory.html +107 -0
  360. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlmodule.html +38 -0
  361. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlreader.html +330 -0
  362. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlregexp.html +143 -0
  363. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlsave.html +60 -0
  364. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlschemas.html +185 -0
  365. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlschemastypes.html +123 -0
  366. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlstring.html +108 -0
  367. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlunicode.html +512 -0
  368. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlversion.html +63 -0
  369. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlwriter.html +261 -0
  370. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xpath.html +316 -0
  371. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xpathInternals.html +394 -0
  372. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xpointer.html +83 -0
  373. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xzlib.html +16 -0
  374. data/vendor/local/share/doc/libxml2-2.9.2/html/html/right.png +0 -0
  375. data/vendor/local/share/doc/libxml2-2.9.2/html/html/up.png +0 -0
  376. data/vendor/local/share/doc/libxml2-2.9.2/html/index.html +14 -0
  377. data/vendor/local/share/doc/libxml2-2.9.2/html/io1.c +166 -0
  378. data/vendor/local/share/doc/libxml2-2.9.2/html/io1.res +5 -0
  379. data/vendor/local/share/doc/libxml2-2.9.2/html/io2.c +58 -0
  380. data/vendor/local/share/doc/libxml2-2.9.2/html/io2.res +2 -0
  381. data/vendor/local/share/doc/libxml2-2.9.2/html/libxml.gif +0 -0
  382. data/vendor/local/share/doc/libxml2-2.9.2/html/parse1.c +56 -0
  383. data/vendor/local/share/doc/libxml2-2.9.2/html/parse2.c +72 -0
  384. data/vendor/local/share/doc/libxml2-2.9.2/html/parse3.c +60 -0
  385. data/vendor/local/share/doc/libxml2-2.9.2/html/parse4.c +143 -0
  386. data/vendor/local/share/doc/libxml2-2.9.2/html/reader1.c +107 -0
  387. data/vendor/local/share/doc/libxml2-2.9.2/html/reader1.res +14 -0
  388. data/vendor/local/share/doc/libxml2-2.9.2/html/reader2.c +122 -0
  389. data/vendor/local/share/doc/libxml2-2.9.2/html/reader3.c +120 -0
  390. data/vendor/local/share/doc/libxml2-2.9.2/html/reader3.res +13 -0
  391. data/vendor/local/share/doc/libxml2-2.9.2/html/reader4.c +122 -0
  392. data/vendor/local/share/doc/libxml2-2.9.2/html/reader4.res +3 -0
  393. data/vendor/local/share/doc/libxml2-2.9.2/html/redhat.gif +0 -0
  394. data/vendor/local/share/doc/libxml2-2.9.2/html/smallfootonly.gif +0 -0
  395. data/vendor/local/share/doc/libxml2-2.9.2/html/structure.gif +0 -0
  396. data/vendor/local/share/doc/libxml2-2.9.2/html/test1.xml +1 -0
  397. data/vendor/local/share/doc/libxml2-2.9.2/html/test2.xml +13 -0
  398. data/vendor/local/share/doc/libxml2-2.9.2/html/test3.xml +39 -0
  399. data/vendor/local/share/doc/libxml2-2.9.2/html/testWriter.c +1198 -0
  400. data/vendor/local/share/doc/libxml2-2.9.2/html/tree1.c +94 -0
  401. data/vendor/local/share/doc/libxml2-2.9.2/html/tree1.res +4 -0
  402. data/vendor/local/share/doc/libxml2-2.9.2/html/tree2.c +118 -0
  403. data/vendor/local/share/doc/libxml2-2.9.2/html/tree2.res +18 -0
  404. data/vendor/local/share/doc/libxml2-2.9.2/html/tst.xml +7 -0
  405. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apa.html +8 -0
  406. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apb.html +14 -0
  407. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apc.html +82 -0
  408. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apd.html +76 -0
  409. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ape.html +78 -0
  410. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apf.html +67 -0
  411. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apg.html +75 -0
  412. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/aph.html +76 -0
  413. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/api.html +4 -0
  414. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s02.html +14 -0
  415. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s03.html +47 -0
  416. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s04.html +54 -0
  417. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s05.html +55 -0
  418. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s06.html +35 -0
  419. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s07.html +30 -0
  420. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s08.html +38 -0
  421. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s09.html +63 -0
  422. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/blank.png +0 -0
  423. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/1.png +0 -0
  424. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/10.png +0 -0
  425. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/2.png +0 -0
  426. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/3.png +0 -0
  427. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/4.png +0 -0
  428. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/5.png +0 -0
  429. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/6.png +0 -0
  430. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/7.png +0 -0
  431. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/8.png +0 -0
  432. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/9.png +0 -0
  433. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/caution.png +0 -0
  434. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/draft.png +0 -0
  435. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/home.png +0 -0
  436. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/important.png +0 -0
  437. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/next.png +0 -0
  438. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/note.png +0 -0
  439. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/prev.png +0 -0
  440. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/tip.png +0 -0
  441. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/toc-blank.png +0 -0
  442. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/toc-minus.png +0 -0
  443. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/toc-plus.png +0 -0
  444. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/up.png +0 -0
  445. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/warning.png +0 -0
  446. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includeaddattribute.c +64 -0
  447. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includeaddkeyword.c +75 -0
  448. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includeconvert.c +73 -0
  449. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includegetattribute.c +72 -0
  450. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includekeyword.c +79 -0
  451. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includexpath.c +74 -0
  452. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/index.html +14 -0
  453. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ix01.html +1 -0
  454. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/xmltutorial.pdf +1336 -0
  455. data/vendor/local/share/doc/libxml2-2.9.2/html/w3c.png +0 -0
  456. data/vendor/local/share/doc/libxml2-2.9.2/html/writer.xml +2 -0
  457. data/vendor/local/share/doc/libxml2-2.9.2/html/xml.html +5995 -0
  458. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath1.c +250 -0
  459. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath1.res +5 -0
  460. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath2.c +190 -0
  461. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath2.res +30 -0
  462. data/vendor/local/share/fontconfig/conf.avail/10-autohint.conf +14 -0
  463. data/vendor/local/share/fontconfig/conf.avail/10-no-sub-pixel.conf +14 -0
  464. data/vendor/local/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf +81 -0
  465. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-bgr.conf +14 -0
  466. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf +14 -0
  467. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-vbgr.conf +14 -0
  468. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-vrgb.conf +14 -0
  469. data/vendor/local/share/fontconfig/conf.avail/10-unhinted.conf +14 -0
  470. data/vendor/local/share/fontconfig/conf.avail/11-lcdfilter-default.conf +16 -0
  471. data/vendor/local/share/fontconfig/conf.avail/11-lcdfilter-legacy.conf +16 -0
  472. data/vendor/local/share/fontconfig/conf.avail/11-lcdfilter-light.conf +16 -0
  473. data/vendor/local/share/fontconfig/conf.avail/20-unhint-small-vera.conf +48 -0
  474. data/vendor/local/share/fontconfig/conf.avail/25-unhint-nonlatin.conf +128 -0
  475. data/vendor/local/share/fontconfig/conf.avail/30-metric-aliases.conf +546 -0
  476. data/vendor/local/share/fontconfig/conf.avail/30-urw-aliases.conf +24 -0
  477. data/vendor/local/share/fontconfig/conf.avail/40-nonlatin.conf +231 -0
  478. data/vendor/local/share/fontconfig/conf.avail/45-latin.conf +189 -0
  479. data/vendor/local/share/fontconfig/conf.avail/49-sansserif.conf +21 -0
  480. data/vendor/local/share/fontconfig/conf.avail/50-user.conf +15 -0
  481. data/vendor/local/share/fontconfig/conf.avail/51-local.conf +6 -0
  482. data/vendor/local/share/fontconfig/conf.avail/60-latin.conf +70 -0
  483. data/vendor/local/share/fontconfig/conf.avail/65-fonts-persian.conf +419 -0
  484. data/vendor/local/share/fontconfig/conf.avail/65-khmer.conf +16 -0
  485. data/vendor/local/share/fontconfig/conf.avail/65-nonlatin.conf +196 -0
  486. data/vendor/local/share/fontconfig/conf.avail/69-unifont.conf +28 -0
  487. data/vendor/local/share/fontconfig/conf.avail/70-no-bitmaps.conf +12 -0
  488. data/vendor/local/share/fontconfig/conf.avail/70-yes-bitmaps.conf +12 -0
  489. data/vendor/local/share/fontconfig/conf.avail/80-delicious.conf +19 -0
  490. data/vendor/local/share/fontconfig/conf.avail/90-synthetic.conf +64 -0
  491. data/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +122 -0
  492. data/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +53 -0
  493. data/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +123 -0
  494. data/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +121 -0
  495. data/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +117 -0
  496. data/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +75 -0
  497. data/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +120 -0
  498. data/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +92 -0
  499. data/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +93 -0
  500. data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +397 -0
  501. data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +428 -0
  502. data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +452 -0
  503. data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +342 -0
  504. data/vendor/local/share/gtk-doc/html/cairo/cairo-PNG-Support.html +315 -0
  505. data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +1194 -0
  506. data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +577 -0
  507. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html +129 -0
  508. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +197 -0
  509. data/vendor/local/share/gtk-doc/html/cairo/cairo-Raster-Sources.html +600 -0
  510. data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +226 -0
  511. data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +810 -0
  512. data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +302 -0
  513. data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +360 -0
  514. data/vendor/local/share/gtk-doc/html/cairo/cairo-Transformations.html +394 -0
  515. data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +156 -0
  516. data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +677 -0
  517. data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +342 -0
  518. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +326 -0
  519. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +280 -0
  520. data/vendor/local/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html +527 -0
  521. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +535 -0
  522. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +170 -0
  523. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +636 -0
  524. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +380 -0
  525. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +653 -0
  526. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +559 -0
  527. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +2231 -0
  528. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +956 -0
  529. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +1637 -0
  530. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +2695 -0
  531. data/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +53 -0
  532. data/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +53 -0
  533. data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +44 -0
  534. data/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +74 -0
  535. data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +1138 -0
  536. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +747 -0
  537. data/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
  538. data/vendor/local/share/gtk-doc/html/cairo/index-1.10.html +177 -0
  539. data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +193 -0
  540. data/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +179 -0
  541. data/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +123 -0
  542. data/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +107 -0
  543. data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +128 -0
  544. data/vendor/local/share/gtk-doc/html/cairo/index-all.html +1122 -0
  545. data/vendor/local/share/gtk-doc/html/cairo/index.html +157 -0
  546. data/vendor/local/share/gtk-doc/html/cairo/index.sgml +833 -0
  547. data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +73 -0
  548. data/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
  549. data/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
  550. data/vendor/local/share/gtk-doc/html/cairo/style.css +266 -0
  551. data/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
  552. data/vendor/local/share/gtk-doc/html/libxml2/general.html +38 -0
  553. data/vendor/local/share/gtk-doc/html/libxml2/home.png +0 -0
  554. data/vendor/local/share/gtk-doc/html/libxml2/index.html +67 -0
  555. data/vendor/local/share/gtk-doc/html/libxml2/left.png +0 -0
  556. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-DOCBparser.html +138 -0
  557. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-HTMLparser.html +373 -0
  558. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-HTMLtree.html +172 -0
  559. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-SAX.html +243 -0
  560. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-SAX2.html +247 -0
  561. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-c14n.html +91 -0
  562. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-catalog.html +278 -0
  563. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-chvalid.html +241 -0
  564. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-debugXML.html +225 -0
  565. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-dict.html +134 -0
  566. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-encoding.html +218 -0
  567. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-entities.html +166 -0
  568. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-globals.html +383 -0
  569. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-hash.html +214 -0
  570. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-list.html +226 -0
  571. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-nanoftp.html +187 -0
  572. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-nanohttp.html +142 -0
  573. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-parser.html +766 -0
  574. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-parserInternals.html +688 -0
  575. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-pattern.html +166 -0
  576. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-relaxng.html +278 -0
  577. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-schemasInternals.html +860 -0
  578. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-schematron.html +166 -0
  579. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-threads.html +161 -0
  580. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-tree.html +1597 -0
  581. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-uri.html +154 -0
  582. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-valid.html +528 -0
  583. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xinclude.html +169 -0
  584. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xlink.html +160 -0
  585. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlIO.html +347 -0
  586. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlautomata.html +176 -0
  587. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlerror.html +953 -0
  588. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlexports.html +87 -0
  589. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlmemory.html +186 -0
  590. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlmodule.html +97 -0
  591. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlreader.html +565 -0
  592. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlregexp.html +280 -0
  593. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlsave.html +133 -0
  594. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlschemas.html +314 -0
  595. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.html +237 -0
  596. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlstring.html +217 -0
  597. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlunicode.html +887 -0
  598. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlversion.html +292 -0
  599. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlwriter.html +479 -0
  600. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpath.html +542 -0
  601. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpathInternals.html +787 -0
  602. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpointer.html +171 -0
  603. data/vendor/local/share/gtk-doc/html/libxml2/libxml2.devhelp +3573 -0
  604. data/vendor/local/share/gtk-doc/html/libxml2/right.png +0 -0
  605. data/vendor/local/share/gtk-doc/html/libxml2/style.css +66 -0
  606. data/vendor/local/share/gtk-doc/html/libxml2/up.png +0 -0
  607. data/vendor/local/share/license/cairo/AUTHORS +115 -0
  608. data/vendor/local/share/license/cairo/COPYING +33 -0
  609. data/vendor/local/share/license/cairo/COPYING-LGPL-2.1 +510 -0
  610. data/vendor/local/share/license/cairo/COPYING-MPL-1.1 +470 -0
  611. data/vendor/local/share/license/cairo/README +204 -0
  612. data/vendor/local/share/license/cairo/README.win32 +66 -0
  613. data/vendor/local/share/license/fontconfig/AUTHORS +3 -0
  614. data/vendor/local/share/license/fontconfig/COPYING +28 -0
  615. data/vendor/local/share/license/fontconfig/README +1484 -0
  616. data/vendor/local/share/license/freetype/README +83 -0
  617. data/vendor/local/share/license/freetype/README.git +50 -0
  618. data/vendor/local/share/license/libpng/README +215 -0
  619. data/vendor/local/share/license/libxml2/AUTHORS +5 -0
  620. data/vendor/local/share/license/libxml2/COPYING +23 -0
  621. data/vendor/local/share/license/libxml2/README +39 -0
  622. data/vendor/local/share/license/libxml2/README.tests +39 -0
  623. data/vendor/local/share/license/pixman/AUTHORS +0 -0
  624. data/vendor/local/share/license/pixman/COPYING +42 -0
  625. data/vendor/local/share/license/pixman/README +116 -0
  626. data/vendor/local/share/license/zlib/README +115 -0
  627. data/vendor/local/share/man/man1/freetype-config.1 +108 -0
  628. data/vendor/local/share/man/man1/xml2-config.1 +30 -0
  629. data/vendor/local/share/man/man1/xmlcatalog.1 +340 -0
  630. data/vendor/local/share/man/man1/xmllint.1 +647 -0
  631. data/vendor/local/share/man/man3/libpng.3 +6217 -0
  632. data/vendor/local/share/man/man3/libpngpf.3 +18 -0
  633. data/vendor/local/share/man/man3/libxml.3 +71 -0
  634. data/vendor/local/share/man/man5/png.5 +74 -0
  635. data/vendor/local/share/xml/fontconfig/fonts.dtd +233 -0
  636. metadata +774 -0
@@ -0,0 +1,726 @@
1
+ /* -*- c-file-style: "gnu"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Ruby Cairo Binding
4
+ *
5
+ * $Author: kou $
6
+ * $Date: 2008-09-26 14:13:58 $
7
+ *
8
+ * Copyright 2005 Øyvind Kolås <pippin@freedesktop.org>
9
+ * Copyright 2004-2005 MenTaLguY <mental@rydia.com>
10
+ *
11
+ * This file is made available under the same terms as Ruby
12
+ *
13
+ */
14
+
15
+
16
+ #include "rb_cairo.h"
17
+ #include "rb_cairo_private.h"
18
+
19
+ VALUE rb_cCairo_FontFace;
20
+ VALUE rb_cCairo_ToyFontFace = Qnil;
21
+ VALUE rb_cCairo_UserFontFace = Qnil;
22
+ VALUE rb_cCairo_UserFontFace_TextToGlyphsData = Qnil;
23
+
24
+ #if CAIRO_CHECK_VERSION(1, 7, 6)
25
+ static cairo_user_data_key_t ruby_object_key;
26
+ static ID cr_id_call;
27
+ static ID cr_id_new;
28
+
29
+ static ID cr_id_init;
30
+ static ID cr_id_render_glyph;
31
+ static ID cr_id_text_to_glyphs;
32
+ static ID cr_id_unicode_to_glyph;
33
+
34
+ static ID cr_id_at_glyphs;
35
+ static ID cr_id_at_clusters;
36
+ static ID cr_id_at_cluster_flags;
37
+ static ID cr_id_at_need_glyphs;
38
+ static ID cr_id_at_need_clusters;
39
+ static ID cr_id_at_need_cluster_flags;
40
+ #endif
41
+
42
+ #define _SELF (RVAL2CRFONTFACE(self))
43
+
44
+ static inline void
45
+ cr_font_face_check_status (cairo_font_face_t *face)
46
+ {
47
+ rb_cairo_check_status (cairo_font_face_status (face));
48
+ }
49
+
50
+ cairo_font_face_t *
51
+ rb_cairo_font_face_from_ruby_object (VALUE obj)
52
+ {
53
+ cairo_font_face_t *face;
54
+
55
+ if (!rb_cairo__is_kind_of (obj, rb_cCairo_FontFace))
56
+ {
57
+ rb_raise (rb_eTypeError,
58
+ "not a cairo font face: %s",
59
+ rb_cairo__inspect (obj));
60
+ }
61
+ Data_Get_Struct (obj, cairo_font_face_t, face);
62
+ if (!face)
63
+ rb_cairo_check_status (CAIRO_STATUS_NULL_POINTER);
64
+ cr_font_face_check_status (face);
65
+ return face;
66
+ }
67
+
68
+ static void
69
+ cr_font_face_free (void *ptr)
70
+ {
71
+ if (ptr)
72
+ {
73
+ cairo_font_face_t *face = ptr;
74
+ cairo_font_face_destroy (face);
75
+ }
76
+ }
77
+
78
+ VALUE
79
+ rb_cairo_font_face_to_ruby_object (cairo_font_face_t *face)
80
+ {
81
+ if (face)
82
+ {
83
+ VALUE klass;
84
+
85
+ switch (cairo_font_face_get_type (face))
86
+ {
87
+ #if CAIRO_CHECK_VERSION(1, 7, 6)
88
+ case CAIRO_FONT_TYPE_TOY:
89
+ klass = rb_cCairo_ToyFontFace;
90
+ break;
91
+ case CAIRO_FONT_TYPE_USER:
92
+ klass = rb_cCairo_UserFontFace;
93
+ break;
94
+ #endif
95
+ default:
96
+ klass = rb_cCairo_FontFace;
97
+ break;
98
+ }
99
+ cairo_font_face_reference (face);
100
+ return Data_Wrap_Struct (klass, NULL, cr_font_face_free, face);
101
+ }
102
+ else
103
+ {
104
+ return Qnil;
105
+ }
106
+ }
107
+
108
+ static VALUE
109
+ cr_font_face_allocate (VALUE klass)
110
+ {
111
+ return Data_Wrap_Struct (klass, NULL, cr_font_face_free, NULL);
112
+ }
113
+
114
+ static VALUE
115
+ cr_font_face_quartz_supported_p (VALUE klass)
116
+ {
117
+ #ifdef CAIRO_HAS_QUARTZ_FONT
118
+ return Qtrue;
119
+ #else
120
+ return Qfalse;
121
+ #endif
122
+ }
123
+
124
+ #if CAIRO_CHECK_VERSION(1, 7, 6)
125
+ static VALUE
126
+ cr_toy_font_face_initialize (int argc, VALUE *argv, VALUE self)
127
+ {
128
+ cairo_font_face_t *face;
129
+ VALUE rb_family, rb_slant, rb_weight;
130
+ const char *family;
131
+ cairo_font_slant_t slant;
132
+ cairo_font_weight_t weight;
133
+
134
+ rb_scan_args (argc, argv, "03", &rb_family, &rb_slant, &rb_weight);
135
+
136
+ if (NIL_P (rb_family))
137
+ {
138
+ family = "";
139
+ }
140
+ else if (rb_cairo__is_kind_of (rb_family, rb_cString))
141
+ {
142
+ family = RSTRING_PTR (rb_family);
143
+ }
144
+ else if (rb_cairo__is_kind_of (rb_family, rb_cSymbol))
145
+ {
146
+ family = rb_id2name (SYM2ID (rb_family));
147
+ }
148
+ else
149
+ {
150
+ rb_raise (rb_eArgError,
151
+ "family name should be nil, String or Symbol: %s",
152
+ rb_cairo__inspect (rb_family));
153
+ }
154
+
155
+ if (NIL_P (rb_slant))
156
+ slant = CAIRO_FONT_SLANT_NORMAL;
157
+ else
158
+ slant = RVAL2CRFONTSLANT (rb_slant);
159
+
160
+ if (NIL_P (rb_weight))
161
+ weight = CAIRO_FONT_WEIGHT_NORMAL;
162
+ else
163
+ weight = RVAL2CRFONTWEIGHT (rb_weight);
164
+
165
+ face = cairo_toy_font_face_create (family, slant, weight);
166
+ cr_font_face_check_status (face);
167
+ DATA_PTR (self) = face;
168
+
169
+ return Qnil;
170
+ }
171
+
172
+ static VALUE
173
+ cr_toy_font_face_get_family (VALUE self)
174
+ {
175
+ return CSTR2RVAL (cairo_toy_font_face_get_family (_SELF));
176
+ }
177
+
178
+ static VALUE
179
+ cr_toy_font_face_get_slant (VALUE self)
180
+ {
181
+ return INT2NUM (cairo_toy_font_face_get_slant (_SELF));
182
+ }
183
+
184
+ static VALUE
185
+ cr_toy_font_face_get_weight (VALUE self)
186
+ {
187
+ return INT2NUM (cairo_toy_font_face_get_weight (_SELF));
188
+ }
189
+
190
+ typedef struct cr_user_font_face_invoke_data
191
+ {
192
+ VALUE receiver;
193
+ ID method;
194
+ int argc;
195
+ VALUE *argv;
196
+ cairo_status_t *status;
197
+ VALUE result;
198
+ cr_callback_func_t after_hook;
199
+ void *after_hook_data;
200
+ } cr_user_font_face_invoke_data_t;
201
+
202
+ static VALUE
203
+ cr_user_font_face_invoke_body (VALUE user_data)
204
+ {
205
+ cr_user_font_face_invoke_data_t *data;
206
+ VALUE result;
207
+
208
+ data = (cr_user_font_face_invoke_data_t *)user_data;
209
+ result = rb_funcall2 (data->receiver, data->method, data->argc, data->argv);
210
+ data->result = result;
211
+ if (data->after_hook)
212
+ result = data->after_hook(user_data);
213
+ return result;
214
+ }
215
+
216
+ static VALUE
217
+ cr_user_font_face_invoke_rescue (VALUE user_data, VALUE exception)
218
+ {
219
+ cr_user_font_face_invoke_data_t *data;
220
+
221
+ data = (cr_user_font_face_invoke_data_t *)user_data;
222
+ *(data->status) = rb_cairo__exception_to_status (exception);
223
+
224
+ if (*(data->status) == (cairo_status_t)-1)
225
+ rb_exc_raise (exception);
226
+
227
+ return Qnil;
228
+ }
229
+
230
+ static VALUE
231
+ cr_user_font_face_invoke_func (VALUE user_data)
232
+ {
233
+ return rb_rescue2 (cr_user_font_face_invoke_body, user_data,
234
+ cr_user_font_face_invoke_rescue, user_data, rb_eException,
235
+ (VALUE)0);
236
+ }
237
+
238
+ static VALUE
239
+ cr_user_font_face_init_func_after (VALUE user_data)
240
+ {
241
+ cr_user_font_face_invoke_data_t *data;
242
+ cairo_font_extents_t *extents;
243
+
244
+ data = (cr_user_font_face_invoke_data_t *)user_data;
245
+ extents = data->after_hook_data;
246
+
247
+ *extents = *(RVAL2CRFONTEXTENTS (data->argv[2]));
248
+
249
+ return data->result;
250
+ }
251
+
252
+ static cairo_status_t
253
+ cr_user_font_face_init_func (cairo_scaled_font_t *scaled_font,
254
+ cairo_t *cr, cairo_font_extents_t *extents)
255
+ {
256
+ cairo_status_t status = CAIRO_STATUS_SUCCESS;
257
+ cairo_font_face_t *face;
258
+ VALUE self;
259
+ VALUE receiver = Qnil;
260
+ ID id_method_name = cr_id_call;
261
+
262
+ face = cairo_scaled_font_get_font_face (scaled_font);
263
+ self = (VALUE)cairo_font_face_get_user_data (face, &ruby_object_key);
264
+ receiver = rb_ivar_get (self, cr_id_init);
265
+ if (NIL_P (receiver) && rb_obj_respond_to (self, cr_id_init, Qtrue))
266
+ {
267
+ receiver = self;
268
+ id_method_name = cr_id_init;
269
+ }
270
+
271
+ if (!NIL_P (receiver))
272
+ {
273
+ cr_user_font_face_invoke_data_t data;
274
+ VALUE argv[3];
275
+
276
+ argv[0] = CRSCALEDFONT2RVAL (scaled_font);
277
+ argv[1] = CRCONTEXT2RVAL (cr);
278
+ argv[2] = CRFONTEXTENTS2RVAL (extents);
279
+
280
+ data.receiver = receiver;
281
+ data.method = id_method_name;
282
+ data.argc = 3;
283
+ data.argv = argv;
284
+ data.status = &status;
285
+ data.after_hook = cr_user_font_face_init_func_after;
286
+ data.after_hook_data = extents;
287
+
288
+ rb_cairo__invoke_callback (cr_user_font_face_invoke_func, (VALUE)&data);
289
+ }
290
+
291
+ return status;
292
+ }
293
+
294
+ static VALUE
295
+ cr_user_font_face_render_glyph_func_after (VALUE user_data)
296
+ {
297
+ cr_user_font_face_invoke_data_t *data;
298
+ cairo_text_extents_t *extents;
299
+
300
+ data = (cr_user_font_face_invoke_data_t *)user_data;
301
+ extents = data->after_hook_data;
302
+
303
+ *extents = *(RVAL2CRTEXTEXTENTS (data->argv[3]));
304
+
305
+ return data->result;
306
+ }
307
+
308
+ static cairo_status_t
309
+ cr_user_font_face_render_glyph_func (cairo_scaled_font_t *scaled_font,
310
+ unsigned long glyph,
311
+ cairo_t *cr,
312
+ cairo_text_extents_t *extents)
313
+ {
314
+ cairo_status_t status = CAIRO_STATUS_SUCCESS;
315
+ cairo_font_face_t *face;
316
+ VALUE self;
317
+ VALUE receiver = Qnil;
318
+ ID id_method_name = cr_id_call;
319
+
320
+ face = cairo_scaled_font_get_font_face (scaled_font);
321
+ self = (VALUE)cairo_font_face_get_user_data (face, &ruby_object_key);
322
+ receiver = rb_ivar_get (self, cr_id_render_glyph);
323
+ if (NIL_P (receiver) && rb_obj_respond_to (self, cr_id_render_glyph, Qtrue))
324
+ {
325
+ receiver = self;
326
+ id_method_name = cr_id_render_glyph;
327
+ }
328
+
329
+ if (!NIL_P (receiver))
330
+ {
331
+ cr_user_font_face_invoke_data_t data;
332
+ VALUE argv[4];
333
+
334
+ argv[0] = CRSCALEDFONT2RVAL (scaled_font);
335
+ argv[1] = ULONG2NUM (glyph);
336
+ argv[2] = CRCONTEXT2RVAL (cr);
337
+ argv[3] = CRTEXTEXTENTS2RVAL (extents);
338
+
339
+ data.receiver = receiver;
340
+ data.method = id_method_name;
341
+ data.argc = 4;
342
+ data.argv = argv;
343
+ data.status = &status;
344
+ data.after_hook = cr_user_font_face_render_glyph_func_after;
345
+ data.after_hook_data = extents;
346
+
347
+ rb_cairo__invoke_callback (cr_user_font_face_invoke_func, (VALUE)&data);
348
+ }
349
+
350
+ return status;
351
+ }
352
+
353
+ typedef struct _cr_text_to_glyphs_after_hook_data {
354
+ VALUE text_to_glyphs_data;
355
+ cairo_glyph_t **glyphs;
356
+ int *num_glyphs;
357
+ cairo_text_cluster_t **clusters;
358
+ int *num_clusters;
359
+ cairo_text_cluster_flags_t *cluster_flags;
360
+ } cr_text_to_glyphs_after_hook_data_t;
361
+
362
+ static VALUE
363
+ cr_user_font_face_text_to_glyphs_func_after (VALUE user_data)
364
+ {
365
+ cr_user_font_face_invoke_data_t *data;
366
+ cr_text_to_glyphs_after_hook_data_t *after_hook_data;
367
+ VALUE text_to_glyphs_data;
368
+
369
+
370
+ data = (cr_user_font_face_invoke_data_t *)user_data;
371
+ after_hook_data = data->after_hook_data;
372
+ text_to_glyphs_data = after_hook_data->text_to_glyphs_data;
373
+
374
+ if (after_hook_data->glyphs)
375
+ {
376
+ VALUE rb_glyphs;
377
+
378
+ rb_glyphs = rb_ivar_get (text_to_glyphs_data, cr_id_at_glyphs);
379
+ rb_cairo__glyphs_from_ruby_object (rb_glyphs,
380
+ after_hook_data->glyphs,
381
+ after_hook_data->num_glyphs);
382
+ }
383
+
384
+ if (after_hook_data->clusters)
385
+ {
386
+ VALUE rb_clusters;
387
+
388
+ rb_clusters = rb_ivar_get (text_to_glyphs_data, cr_id_at_clusters);
389
+ rb_cairo__text_clusters_from_ruby_object (rb_clusters,
390
+ after_hook_data->clusters,
391
+ after_hook_data->num_clusters);
392
+ }
393
+
394
+ if (after_hook_data->cluster_flags)
395
+ {
396
+ VALUE rb_cluster_flags;
397
+
398
+ rb_cluster_flags = rb_ivar_get (text_to_glyphs_data,
399
+ cr_id_at_cluster_flags);
400
+ *(after_hook_data->cluster_flags) =
401
+ RVAL2CRTEXTCLUSTERFLAGS (rb_cluster_flags);
402
+ }
403
+
404
+ return data->result;
405
+ }
406
+
407
+ static cairo_status_t
408
+ cr_user_font_face_text_to_glyphs_func (cairo_scaled_font_t *scaled_font,
409
+ const char *utf8, int utf8_len,
410
+ cairo_glyph_t **glyphs, int *num_glyphs,
411
+ cairo_text_cluster_t **clusters,
412
+ int *num_clusters,
413
+ cairo_text_cluster_flags_t *cluster_flags)
414
+ {
415
+ cairo_status_t status = CAIRO_INT_STATUS_UNSUPPORTED;
416
+ cairo_font_face_t *face;
417
+ VALUE self;
418
+ VALUE receiver = Qnil;
419
+ ID id_method_name = cr_id_call;
420
+
421
+ face = cairo_scaled_font_get_font_face (scaled_font);
422
+ self = (VALUE)cairo_font_face_get_user_data (face, &ruby_object_key);
423
+ receiver = rb_ivar_get (self, cr_id_text_to_glyphs);
424
+ if (NIL_P (receiver) && rb_obj_respond_to (self, cr_id_text_to_glyphs, Qtrue))
425
+ {
426
+ receiver = self;
427
+ id_method_name = cr_id_text_to_glyphs;
428
+ }
429
+
430
+ if (NIL_P (receiver))
431
+ {
432
+ if (num_glyphs)
433
+ *num_glyphs = -1;
434
+ }
435
+ else
436
+ {
437
+ cr_user_font_face_invoke_data_t data;
438
+ cr_text_to_glyphs_after_hook_data_t after_hook_data;
439
+ VALUE text_to_glyphs_data;
440
+ VALUE argv[3];
441
+
442
+ argv[0] = CRSCALEDFONT2RVAL (scaled_font);
443
+ argv[1] = rb_str_new (utf8, utf8_len);
444
+ text_to_glyphs_data = rb_funcall (rb_cCairo_UserFontFace_TextToGlyphsData,
445
+ cr_id_new,
446
+ 3,
447
+ CBOOL2RVAL (glyphs != NULL),
448
+ CBOOL2RVAL (clusters != NULL),
449
+ CBOOL2RVAL (cluster_flags != NULL));
450
+ argv[2] = text_to_glyphs_data;
451
+
452
+ data.receiver = receiver;
453
+ data.method = id_method_name;
454
+ data.argc = 3;
455
+ data.argv = argv;
456
+ data.status = &status;
457
+ data.after_hook = cr_user_font_face_text_to_glyphs_func_after;
458
+ data.after_hook_data = &after_hook_data;
459
+
460
+ after_hook_data.text_to_glyphs_data = text_to_glyphs_data;
461
+ after_hook_data.glyphs = glyphs;
462
+ after_hook_data.num_glyphs = num_glyphs;
463
+ after_hook_data.clusters = clusters;
464
+ after_hook_data.num_clusters = num_clusters;
465
+ after_hook_data.cluster_flags = cluster_flags;
466
+
467
+ rb_cairo__invoke_callback (cr_user_font_face_invoke_func, (VALUE)&data);
468
+ }
469
+
470
+ return status;
471
+ }
472
+
473
+ static VALUE
474
+ cr_user_font_face_unicode_to_glyph_func_after (VALUE user_data)
475
+ {
476
+ cr_user_font_face_invoke_data_t *data;
477
+ unsigned long *glyph_index;
478
+
479
+ data = (cr_user_font_face_invoke_data_t *)user_data;
480
+ glyph_index = data->after_hook_data;
481
+
482
+ *glyph_index = NUM2ULONG (data->result);
483
+
484
+ return data->result;
485
+ }
486
+
487
+ static cairo_status_t
488
+ cr_user_font_face_unicode_to_glyph_func (cairo_scaled_font_t *scaled_font,
489
+ unsigned long unicode,
490
+ unsigned long *glyph_index)
491
+ {
492
+ cairo_status_t status = CAIRO_STATUS_SUCCESS;
493
+ cairo_font_face_t *face;
494
+ VALUE self;
495
+ VALUE receiver = Qnil;
496
+ ID id_method_name = cr_id_call;
497
+
498
+ face = cairo_scaled_font_get_font_face (scaled_font);
499
+ self = (VALUE)cairo_font_face_get_user_data (face, &ruby_object_key);
500
+ receiver = rb_ivar_get (self, cr_id_unicode_to_glyph);
501
+ if (NIL_P (receiver) &&
502
+ rb_obj_respond_to (self, cr_id_unicode_to_glyph, Qtrue))
503
+ {
504
+ receiver = self;
505
+ id_method_name = cr_id_unicode_to_glyph;
506
+ }
507
+
508
+ if (NIL_P (receiver))
509
+ {
510
+ *glyph_index = unicode;
511
+ }
512
+ else
513
+ {
514
+ cr_user_font_face_invoke_data_t data;
515
+ VALUE argv[2];
516
+
517
+ argv[0] = CRSCALEDFONT2RVAL (scaled_font);
518
+ argv[1] = ULONG2NUM (unicode);
519
+
520
+ data.receiver = receiver;
521
+ data.method = id_method_name;
522
+ data.argc = 2;
523
+ data.argv = argv;
524
+ data.status = &status;
525
+ data.after_hook = cr_user_font_face_unicode_to_glyph_func_after;
526
+ data.after_hook_data = glyph_index;
527
+
528
+ rb_cairo__invoke_callback (cr_user_font_face_invoke_func, (VALUE)&data);
529
+ }
530
+
531
+ return status;
532
+ }
533
+
534
+
535
+ static VALUE
536
+ cr_user_font_face_initialize (VALUE self)
537
+ {
538
+ cairo_font_face_t *face;
539
+
540
+ face = cairo_user_font_face_create ();
541
+ cr_font_face_check_status (face);
542
+
543
+ cairo_font_face_set_user_data (face, &ruby_object_key, (void *)self, NULL);
544
+
545
+ cairo_user_font_face_set_init_func
546
+ (face, cr_user_font_face_init_func);
547
+ cairo_user_font_face_set_render_glyph_func
548
+ (face, cr_user_font_face_render_glyph_func);
549
+ cairo_user_font_face_set_text_to_glyphs_func
550
+ (face, cr_user_font_face_text_to_glyphs_func);
551
+ cairo_user_font_face_set_unicode_to_glyph_func
552
+ (face, cr_user_font_face_unicode_to_glyph_func);
553
+
554
+ rb_ivar_set (self, cr_id_init, Qnil);
555
+ rb_ivar_set (self, cr_id_render_glyph, Qnil);
556
+ rb_ivar_set (self, cr_id_text_to_glyphs, Qnil);
557
+ rb_ivar_set (self, cr_id_unicode_to_glyph, Qnil);
558
+
559
+ DATA_PTR (self) = face;
560
+
561
+ return Qnil;
562
+ }
563
+
564
+ static VALUE
565
+ cr_user_font_face_on_init (VALUE self)
566
+ {
567
+ rb_ivar_set (self, cr_id_init, rb_block_proc ());
568
+ return self;
569
+ }
570
+
571
+ static VALUE
572
+ cr_user_font_face_on_render_glyph (VALUE self)
573
+ {
574
+ rb_ivar_set (self, cr_id_render_glyph, rb_block_proc ());
575
+ return self;
576
+ }
577
+
578
+ static VALUE
579
+ cr_user_font_face_on_text_to_glyphs (VALUE self)
580
+ {
581
+ rb_ivar_set (self, cr_id_text_to_glyphs, rb_block_proc ());
582
+ return self;
583
+ }
584
+
585
+ static VALUE
586
+ cr_user_font_face_on_unicode_to_glyph (VALUE self)
587
+ {
588
+ rb_ivar_set (self, cr_id_unicode_to_glyph, rb_block_proc ());
589
+ return self;
590
+ }
591
+
592
+
593
+ static VALUE
594
+ cr_text_to_glyphs_data_initialize (VALUE self,
595
+ VALUE need_glyphs, VALUE need_clusters,
596
+ VALUE need_cluster_flags)
597
+ {
598
+ rb_ivar_set (self, cr_id_at_glyphs, Qnil);
599
+ rb_ivar_set (self, cr_id_at_clusters, Qnil);
600
+ rb_ivar_set (self, cr_id_at_cluster_flags, INT2NUM (0));
601
+ rb_ivar_set (self, cr_id_at_need_glyphs, need_glyphs);
602
+ rb_ivar_set (self, cr_id_at_need_clusters, need_clusters);
603
+ rb_ivar_set (self, cr_id_at_need_cluster_flags, need_cluster_flags);
604
+
605
+ return Qnil;
606
+ }
607
+
608
+ static VALUE
609
+ cr_text_to_glyphs_data_get_cluster_flags (VALUE self)
610
+ {
611
+ return rb_ivar_get (self, cr_id_at_cluster_flags);
612
+ }
613
+
614
+ static VALUE
615
+ cr_text_to_glyphs_data_set_cluster_flags (VALUE self, VALUE cluster_flags)
616
+ {
617
+ rb_ivar_set (self, cr_id_at_cluster_flags,
618
+ INT2NUM (RVAL2CRTEXTCLUSTERFLAGS (cluster_flags)));
619
+ return Qnil;
620
+ }
621
+
622
+ static VALUE
623
+ cr_text_to_glyphs_data_need_glyphs (VALUE self)
624
+ {
625
+ return rb_ivar_get (self, cr_id_at_need_glyphs);
626
+ }
627
+
628
+ static VALUE
629
+ cr_text_to_glyphs_data_need_clusters (VALUE self)
630
+ {
631
+ return rb_ivar_get (self, cr_id_at_need_clusters);
632
+ }
633
+
634
+ static VALUE
635
+ cr_text_to_glyphs_data_need_cluster_flags (VALUE self)
636
+ {
637
+ return rb_ivar_get (self, cr_id_at_need_cluster_flags);
638
+ }
639
+ #endif
640
+
641
+ void
642
+ Init_cairo_font (void)
643
+ {
644
+ #if CAIRO_CHECK_VERSION(1, 7, 6)
645
+ cr_id_call = rb_intern ("call");
646
+ cr_id_new = rb_intern ("new");
647
+
648
+ cr_id_init = rb_intern ("init");
649
+ cr_id_render_glyph = rb_intern ("render_glyph");
650
+ cr_id_text_to_glyphs = rb_intern ("text_to_glyphs");
651
+ cr_id_unicode_to_glyph = rb_intern ("unicode_to_glyph");
652
+
653
+ cr_id_at_glyphs = rb_intern ("@glyphs");
654
+ cr_id_at_clusters = rb_intern ("@clusters");
655
+ cr_id_at_cluster_flags = rb_intern ("@cluster_flags");
656
+ cr_id_at_need_glyphs = rb_intern ("@need_glyphs");
657
+ cr_id_at_need_clusters = rb_intern ("@need_clusters");
658
+ cr_id_at_need_cluster_flags = rb_intern ("@need_cluster_flags");
659
+ #endif
660
+
661
+ rb_cCairo_FontFace =
662
+ rb_define_class_under (rb_mCairo, "FontFace", rb_cObject);
663
+ rb_define_alloc_func (rb_cCairo_FontFace, cr_font_face_allocate);
664
+
665
+ rb_define_singleton_method (rb_cCairo_FontFace, "quartz_supported?",
666
+ cr_font_face_quartz_supported_p, 0);
667
+
668
+ #if CAIRO_CHECK_VERSION(1, 7, 6)
669
+ rb_cCairo_ToyFontFace =
670
+ rb_define_class_under (rb_mCairo, "ToyFontFace", rb_cCairo_FontFace);
671
+
672
+ rb_define_method (rb_cCairo_ToyFontFace, "initialize",
673
+ cr_toy_font_face_initialize, -1);
674
+
675
+ rb_define_method (rb_cCairo_ToyFontFace, "family",
676
+ cr_toy_font_face_get_family, 0);
677
+ rb_define_method (rb_cCairo_ToyFontFace, "slant",
678
+ cr_toy_font_face_get_slant, 0);
679
+ rb_define_method (rb_cCairo_ToyFontFace, "weight",
680
+ cr_toy_font_face_get_weight, 0);
681
+
682
+
683
+ rb_cCairo_UserFontFace =
684
+ rb_define_class_under (rb_mCairo, "UserFontFace", rb_cCairo_FontFace);
685
+
686
+ rb_define_method (rb_cCairo_UserFontFace, "initialize",
687
+ cr_user_font_face_initialize, 0);
688
+
689
+ rb_define_method (rb_cCairo_UserFontFace, "on_init",
690
+ cr_user_font_face_on_init, 0);
691
+ rb_define_method (rb_cCairo_UserFontFace, "on_render_glyph",
692
+ cr_user_font_face_on_render_glyph, 0);
693
+ rb_define_method (rb_cCairo_UserFontFace, "on_text_to_glyphs",
694
+ cr_user_font_face_on_text_to_glyphs, 0);
695
+ rb_define_method (rb_cCairo_UserFontFace, "on_unicode_to_glyph",
696
+ cr_user_font_face_on_unicode_to_glyph, 0);
697
+
698
+
699
+ rb_cCairo_UserFontFace_TextToGlyphsData =
700
+ rb_define_class_under (rb_cCairo_UserFontFace,
701
+ "TextToGlyphsData", rb_cObject);
702
+ rb_attr (rb_cCairo_UserFontFace_TextToGlyphsData, rb_intern ("glyphs"),
703
+ CR_TRUE, CR_TRUE, CR_TRUE);
704
+ rb_attr (rb_cCairo_UserFontFace_TextToGlyphsData, rb_intern ("clusters"),
705
+ CR_TRUE, CR_TRUE, CR_TRUE);
706
+
707
+ rb_define_method (rb_cCairo_UserFontFace_TextToGlyphsData,
708
+ "initialize", cr_text_to_glyphs_data_initialize, 3);
709
+
710
+ rb_define_method (rb_cCairo_UserFontFace_TextToGlyphsData,
711
+ "cluster_flags",
712
+ cr_text_to_glyphs_data_get_cluster_flags, 0);
713
+ rb_define_method (rb_cCairo_UserFontFace_TextToGlyphsData,
714
+ "cluster_flags=",
715
+ cr_text_to_glyphs_data_set_cluster_flags, 1);
716
+ rb_define_method (rb_cCairo_UserFontFace_TextToGlyphsData,
717
+ "need_glyphs?", cr_text_to_glyphs_data_need_glyphs, 0);
718
+ rb_define_method (rb_cCairo_UserFontFace_TextToGlyphsData,
719
+ "need_clusters?", cr_text_to_glyphs_data_need_clusters, 0);
720
+ rb_define_method (rb_cCairo_UserFontFace_TextToGlyphsData,
721
+ "need_cluster_flags?",
722
+ cr_text_to_glyphs_data_need_cluster_flags, 0);
723
+
724
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_UserFontFace_TextToGlyphsData);
725
+ #endif
726
+ }