prawn-graph 0.0.1

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 (317) hide show
  1. data/README.markdown +3 -0
  2. data/Rakefile +34 -0
  3. data/examples/example_helper.rb +10 -0
  4. data/examples/graph/advanced_bar_chart.rb +22 -0
  5. data/examples/graph/bar_chart.rb +18 -0
  6. data/examples/graph/line_chart.rb +18 -0
  7. data/lib/prawn/graph.rb +94 -0
  8. data/lib/prawn/graph/bar.rb +172 -0
  9. data/lib/prawn/graph/chart.rb +4 -0
  10. data/lib/prawn/graph/errors.rb +6 -0
  11. data/lib/prawn/graph/grid.rb +43 -0
  12. data/lib/prawn/graph/line.rb +43 -0
  13. data/vendor/prawn-core/COPYING +340 -0
  14. data/vendor/prawn-core/HACKING +46 -0
  15. data/vendor/prawn-core/LICENSE +56 -0
  16. data/vendor/prawn-core/README +138 -0
  17. data/vendor/prawn-core/Rakefile +75 -0
  18. data/vendor/prawn-core/bench/afm_text_bench.rb +18 -0
  19. data/vendor/prawn-core/bench/png_type_6.rb +15 -0
  20. data/vendor/prawn-core/bench/ttf_text_bench.rb +19 -0
  21. data/vendor/prawn-core/bugs/indentation_across_pagebreaks.rb +15 -0
  22. data/vendor/prawn-core/bugs/resolved/canvas_sets_y_to_0.rb +15 -0
  23. data/vendor/prawn-core/bugs/resolved/png_barcode_issue.rb +11 -0
  24. data/vendor/prawn-core/bugs/resolved/transaction_page_number_issue_79.rb +21 -0
  25. data/vendor/prawn-core/bugs/resolved/ttf_fails_in_transactions.rb +24 -0
  26. data/vendor/prawn-core/data/encodings/win_ansi.txt +29 -0
  27. data/vendor/prawn-core/data/fonts/Action Man.dfont +0 -0
  28. data/vendor/prawn-core/data/fonts/Activa.ttf +0 -0
  29. data/vendor/prawn-core/data/fonts/Chalkboard.ttf +0 -0
  30. data/vendor/prawn-core/data/fonts/Courier-Bold.afm +342 -0
  31. data/vendor/prawn-core/data/fonts/Courier-BoldOblique.afm +342 -0
  32. data/vendor/prawn-core/data/fonts/Courier-Oblique.afm +342 -0
  33. data/vendor/prawn-core/data/fonts/Courier.afm +342 -0
  34. data/vendor/prawn-core/data/fonts/DejaVuSans.ttf +0 -0
  35. data/vendor/prawn-core/data/fonts/Dustismo_Roman.ttf +0 -0
  36. data/vendor/prawn-core/data/fonts/Helvetica-Bold.afm +2827 -0
  37. data/vendor/prawn-core/data/fonts/Helvetica-BoldOblique.afm +2827 -0
  38. data/vendor/prawn-core/data/fonts/Helvetica-Oblique.afm +3051 -0
  39. data/vendor/prawn-core/data/fonts/Helvetica.afm +3051 -0
  40. data/vendor/prawn-core/data/fonts/MustRead.html +19 -0
  41. data/vendor/prawn-core/data/fonts/Symbol.afm +213 -0
  42. data/vendor/prawn-core/data/fonts/Times-Bold.afm +2588 -0
  43. data/vendor/prawn-core/data/fonts/Times-BoldItalic.afm +2384 -0
  44. data/vendor/prawn-core/data/fonts/Times-Italic.afm +2667 -0
  45. data/vendor/prawn-core/data/fonts/Times-Roman.afm +2419 -0
  46. data/vendor/prawn-core/data/fonts/ZapfDingbats.afm +225 -0
  47. data/vendor/prawn-core/data/fonts/comicsans.ttf +0 -0
  48. data/vendor/prawn-core/data/fonts/gkai00mp.ttf +0 -0
  49. data/vendor/prawn-core/data/images/16bit.alpha +0 -0
  50. data/vendor/prawn-core/data/images/16bit.dat +0 -0
  51. data/vendor/prawn-core/data/images/16bit.png +0 -0
  52. data/vendor/prawn-core/data/images/arrow.png +0 -0
  53. data/vendor/prawn-core/data/images/arrow2.png +0 -0
  54. data/vendor/prawn-core/data/images/barcode_issue.png +0 -0
  55. data/vendor/prawn-core/data/images/dice.alpha +0 -0
  56. data/vendor/prawn-core/data/images/dice.dat +0 -0
  57. data/vendor/prawn-core/data/images/dice.png +0 -0
  58. data/vendor/prawn-core/data/images/dice_interlaced.png +0 -0
  59. data/vendor/prawn-core/data/images/fractal.jpg +0 -0
  60. data/vendor/prawn-core/data/images/letterhead.jpg +0 -0
  61. data/vendor/prawn-core/data/images/page_white_text.alpha +0 -0
  62. data/vendor/prawn-core/data/images/page_white_text.dat +0 -0
  63. data/vendor/prawn-core/data/images/page_white_text.png +0 -0
  64. data/vendor/prawn-core/data/images/pigs.jpg +0 -0
  65. data/vendor/prawn-core/data/images/rails.dat +0 -0
  66. data/vendor/prawn-core/data/images/rails.png +0 -0
  67. data/vendor/prawn-core/data/images/ruport.png +0 -0
  68. data/vendor/prawn-core/data/images/ruport_data.dat +0 -0
  69. data/vendor/prawn-core/data/images/ruport_transparent.png +0 -0
  70. data/vendor/prawn-core/data/images/ruport_type0.png +0 -0
  71. data/vendor/prawn-core/data/images/stef.jpg +0 -0
  72. data/vendor/prawn-core/data/images/tru256.bmp +0 -0
  73. data/vendor/prawn-core/data/images/web-links.dat +1 -0
  74. data/vendor/prawn-core/data/images/web-links.png +0 -0
  75. data/vendor/prawn-core/data/shift_jis_text.txt +1 -0
  76. data/vendor/prawn-core/examples/bounding_box/bounding_boxes.rb +43 -0
  77. data/vendor/prawn-core/examples/bounding_box/indentation.rb +34 -0
  78. data/vendor/prawn-core/examples/bounding_box/russian_boxes.rb +36 -0
  79. data/vendor/prawn-core/examples/bounding_box/stretched_nesting.rb +67 -0
  80. data/vendor/prawn-core/examples/column_box/column_box_example.rb +43 -0
  81. data/vendor/prawn-core/examples/example_helper.rb +3 -0
  82. data/vendor/prawn-core/examples/general/background.rb +23 -0
  83. data/vendor/prawn-core/examples/general/canvas.rb +15 -0
  84. data/vendor/prawn-core/examples/general/context_sensitive_headers.rb +37 -0
  85. data/vendor/prawn-core/examples/general/float.rb +11 -0
  86. data/vendor/prawn-core/examples/general/margin.rb +36 -0
  87. data/vendor/prawn-core/examples/general/measurement_units.rb +51 -0
  88. data/vendor/prawn-core/examples/general/metadata-info.rb +16 -0
  89. data/vendor/prawn-core/examples/general/multi_page_layout.rb +18 -0
  90. data/vendor/prawn-core/examples/general/outlines.rb +50 -0
  91. data/vendor/prawn-core/examples/general/page_geometry.rb +31 -0
  92. data/vendor/prawn-core/examples/general/page_numbering.rb +15 -0
  93. data/vendor/prawn-core/examples/general/repeaters.rb +47 -0
  94. data/vendor/prawn-core/examples/general/stamp.rb +41 -0
  95. data/vendor/prawn-core/examples/graphics/basic_images.rb +23 -0
  96. data/vendor/prawn-core/examples/graphics/cmyk.rb +12 -0
  97. data/vendor/prawn-core/examples/graphics/curves.rb +11 -0
  98. data/vendor/prawn-core/examples/graphics/hexagon.rb +13 -0
  99. data/vendor/prawn-core/examples/graphics/image_fit.rb +15 -0
  100. data/vendor/prawn-core/examples/graphics/image_flow.rb +37 -0
  101. data/vendor/prawn-core/examples/graphics/image_position.rb +17 -0
  102. data/vendor/prawn-core/examples/graphics/line.rb +32 -0
  103. data/vendor/prawn-core/examples/graphics/png_types.rb +22 -0
  104. data/vendor/prawn-core/examples/graphics/polygons.rb +16 -0
  105. data/vendor/prawn-core/examples/graphics/remote_images.rb +12 -0
  106. data/vendor/prawn-core/examples/graphics/rounded_polygons.rb +19 -0
  107. data/vendor/prawn-core/examples/graphics/rounded_rectangle.rb +20 -0
  108. data/vendor/prawn-core/examples/graphics/ruport_style_helpers.rb +19 -0
  109. data/vendor/prawn-core/examples/graphics/stroke_bounds.rb +20 -0
  110. data/vendor/prawn-core/examples/graphics/stroke_cap_and_join.rb +45 -0
  111. data/vendor/prawn-core/examples/graphics/stroke_dash.rb +42 -0
  112. data/vendor/prawn-core/examples/graphics/transformations.rb +52 -0
  113. data/vendor/prawn-core/examples/graphics/transparency.rb +26 -0
  114. data/vendor/prawn-core/examples/m17n/chinese_text_wrapping.rb +17 -0
  115. data/vendor/prawn-core/examples/m17n/euro.rb +15 -0
  116. data/vendor/prawn-core/examples/m17n/sjis.rb +28 -0
  117. data/vendor/prawn-core/examples/m17n/utf8.rb +13 -0
  118. data/vendor/prawn-core/examples/m17n/win_ansi_charset.rb +54 -0
  119. data/vendor/prawn-core/examples/text/alignment.rb +18 -0
  120. data/vendor/prawn-core/examples/text/dfont.rb +48 -0
  121. data/vendor/prawn-core/examples/text/family_based_styling.rb +24 -0
  122. data/vendor/prawn-core/examples/text/font_calculations.rb +91 -0
  123. data/vendor/prawn-core/examples/text/font_size.rb +33 -0
  124. data/vendor/prawn-core/examples/text/indent_paragraphs.rb +18 -0
  125. data/vendor/prawn-core/examples/text/kerning.rb +30 -0
  126. data/vendor/prawn-core/examples/text/rotated.rb +98 -0
  127. data/vendor/prawn-core/examples/text/simple_text.rb +17 -0
  128. data/vendor/prawn-core/examples/text/simple_text_ttf.rb +17 -0
  129. data/vendor/prawn-core/examples/text/span.rb +29 -0
  130. data/vendor/prawn-core/examples/text/text_box.rb +88 -0
  131. data/vendor/prawn-core/examples/text/text_box_returning_excess.rb +51 -0
  132. data/vendor/prawn-core/examples/text/text_flow.rb +67 -0
  133. data/vendor/prawn-core/lib/prawn/byte_string.rb +7 -0
  134. data/vendor/prawn-core/lib/prawn/compatibility.rb +51 -0
  135. data/vendor/prawn-core/lib/prawn/core.rb +87 -0
  136. data/vendor/prawn-core/lib/prawn/core/page.rb +88 -0
  137. data/vendor/prawn-core/lib/prawn/core/text.rb +65 -0
  138. data/vendor/prawn-core/lib/prawn/document.rb +596 -0
  139. data/vendor/prawn-core/lib/prawn/document/annotations.rb +65 -0
  140. data/vendor/prawn-core/lib/prawn/document/bounding_box.rb +402 -0
  141. data/vendor/prawn-core/lib/prawn/document/column_box.rb +113 -0
  142. data/vendor/prawn-core/lib/prawn/document/destinations.rb +92 -0
  143. data/vendor/prawn-core/lib/prawn/document/graphics_state.rb +49 -0
  144. data/vendor/prawn-core/lib/prawn/document/internals.rb +153 -0
  145. data/vendor/prawn-core/lib/prawn/document/page_geometry.rb +136 -0
  146. data/vendor/prawn-core/lib/prawn/document/snapshot.rb +80 -0
  147. data/vendor/prawn-core/lib/prawn/document/span.rb +55 -0
  148. data/vendor/prawn-core/lib/prawn/encoding.rb +121 -0
  149. data/vendor/prawn-core/lib/prawn/errors.rb +83 -0
  150. data/vendor/prawn-core/lib/prawn/font.rb +329 -0
  151. data/vendor/prawn-core/lib/prawn/font/afm.rb +217 -0
  152. data/vendor/prawn-core/lib/prawn/font/dfont.rb +34 -0
  153. data/vendor/prawn-core/lib/prawn/font/ttf.rb +341 -0
  154. data/vendor/prawn-core/lib/prawn/graphics.rb +321 -0
  155. data/vendor/prawn-core/lib/prawn/graphics/cap_style.rb +38 -0
  156. data/vendor/prawn-core/lib/prawn/graphics/color.rb +205 -0
  157. data/vendor/prawn-core/lib/prawn/graphics/dash.rb +71 -0
  158. data/vendor/prawn-core/lib/prawn/graphics/join_style.rb +38 -0
  159. data/vendor/prawn-core/lib/prawn/graphics/transformation.rb +157 -0
  160. data/vendor/prawn-core/lib/prawn/graphics/transparency.rb +99 -0
  161. data/vendor/prawn-core/lib/prawn/images.rb +337 -0
  162. data/vendor/prawn-core/lib/prawn/images/jpg.rb +46 -0
  163. data/vendor/prawn-core/lib/prawn/images/png.rb +219 -0
  164. data/vendor/prawn-core/lib/prawn/literal_string.rb +14 -0
  165. data/vendor/prawn-core/lib/prawn/measurement_extensions.rb +46 -0
  166. data/vendor/prawn-core/lib/prawn/measurements.rb +71 -0
  167. data/vendor/prawn-core/lib/prawn/name_tree.rb +166 -0
  168. data/vendor/prawn-core/lib/prawn/object_store.rb +93 -0
  169. data/vendor/prawn-core/lib/prawn/outline.rb +278 -0
  170. data/vendor/prawn-core/lib/prawn/pdf_object.rb +83 -0
  171. data/vendor/prawn-core/lib/prawn/reference.rb +92 -0
  172. data/vendor/prawn-core/lib/prawn/repeater.rb +129 -0
  173. data/vendor/prawn-core/lib/prawn/stamp.rb +128 -0
  174. data/vendor/prawn-core/lib/prawn/text.rb +271 -0
  175. data/vendor/prawn-core/lib/prawn/text/box.rb +414 -0
  176. data/vendor/prawn-core/meta/Rakefile +36 -0
  177. data/vendor/prawn-core/meta/lib/prawn.rb +2 -0
  178. data/vendor/prawn-core/reference_pdfs/alignment.pdf +229 -0
  179. data/vendor/prawn-core/reference_pdfs/background.pdf +0 -0
  180. data/vendor/prawn-core/reference_pdfs/basic_images.pdf +0 -0
  181. data/vendor/prawn-core/reference_pdfs/bounding_boxes.pdf +128 -0
  182. data/vendor/prawn-core/reference_pdfs/canvas.pdf +78 -0
  183. data/vendor/prawn-core/reference_pdfs/chinese_flow.pdf +0 -0
  184. data/vendor/prawn-core/reference_pdfs/cmyk.pdf +0 -0
  185. data/vendor/prawn-core/reference_pdfs/column_box.pdf +3671 -0
  186. data/vendor/prawn-core/reference_pdfs/context_sensitive_headers.pdf +2331 -0
  187. data/vendor/prawn-core/reference_pdfs/curves.pdf +62 -0
  188. data/vendor/prawn-core/reference_pdfs/dfont.pdf +0 -0
  189. data/vendor/prawn-core/reference_pdfs/euro.pdf +75 -0
  190. data/vendor/prawn-core/reference_pdfs/family_style.pdf +286 -0
  191. data/vendor/prawn-core/reference_pdfs/flow.pdf +964 -0
  192. data/vendor/prawn-core/reference_pdfs/font_calculations.pdf +0 -0
  193. data/vendor/prawn-core/reference_pdfs/font_size.pdf +142 -0
  194. data/vendor/prawn-core/reference_pdfs/hexagon.pdf +61 -0
  195. data/vendor/prawn-core/reference_pdfs/image-flow.pdf +0 -0
  196. data/vendor/prawn-core/reference_pdfs/image_fit.pdf +0 -0
  197. data/vendor/prawn-core/reference_pdfs/image_position.pdf +0 -0
  198. data/vendor/prawn-core/reference_pdfs/indentation.pdf +124 -0
  199. data/vendor/prawn-core/reference_pdfs/kerning.pdf +0 -0
  200. data/vendor/prawn-core/reference_pdfs/landscape_a4.pdf +52 -0
  201. data/vendor/prawn-core/reference_pdfs/landscape_legal.pdf +52 -0
  202. data/vendor/prawn-core/reference_pdfs/landscape_letter.pdf +52 -0
  203. data/vendor/prawn-core/reference_pdfs/lines.pdf +116 -0
  204. data/vendor/prawn-core/reference_pdfs/margin.pdf +3850 -0
  205. data/vendor/prawn-core/reference_pdfs/measurement_units.pdf +4667 -0
  206. data/vendor/prawn-core/reference_pdfs/metadata-info.pdf +88 -0
  207. data/vendor/prawn-core/reference_pdfs/multi-layout.pdf +209 -0
  208. data/vendor/prawn-core/reference_pdfs/page_with_numbering.pdf +156 -0
  209. data/vendor/prawn-core/reference_pdfs/png_types.pdf +0 -0
  210. data/vendor/prawn-core/reference_pdfs/portrait_a4.pdf +52 -0
  211. data/vendor/prawn-core/reference_pdfs/portrait_legal.pdf +52 -0
  212. data/vendor/prawn-core/reference_pdfs/portrait_letter.pdf +52 -0
  213. data/vendor/prawn-core/reference_pdfs/pretty_polygons.pdf +122 -0
  214. data/vendor/prawn-core/reference_pdfs/remote_images.pdf +0 -0
  215. data/vendor/prawn-core/reference_pdfs/ruport.pdf +101 -0
  216. data/vendor/prawn-core/reference_pdfs/russian_boxes.pdf +2780 -0
  217. data/vendor/prawn-core/reference_pdfs/simple_text.pdf +136 -0
  218. data/vendor/prawn-core/reference_pdfs/simple_text_ttf.pdf +0 -0
  219. data/vendor/prawn-core/reference_pdfs/sjis.pdf +0 -0
  220. data/vendor/prawn-core/reference_pdfs/span.pdf +1975 -0
  221. data/vendor/prawn-core/reference_pdfs/stamp.pdf +649 -0
  222. data/vendor/prawn-core/reference_pdfs/stretched_nesting.pdf +200 -0
  223. data/vendor/prawn-core/reference_pdfs/stroke_bounds.pdf +135 -0
  224. data/vendor/prawn-core/reference_pdfs/stroke_cap_and_join.pdf +80 -0
  225. data/vendor/prawn-core/reference_pdfs/stroke_dash.pdf +457 -0
  226. data/vendor/prawn-core/reference_pdfs/text_box.pdf +962 -0
  227. data/vendor/prawn-core/reference_pdfs/text_box_returning_excess.pdf +271 -0
  228. data/vendor/prawn-core/reference_pdfs/transparency.pdf +347 -0
  229. data/vendor/prawn-core/reference_pdfs/utf8.pdf +0 -0
  230. data/vendor/prawn-core/reference_pdfs/win-ansi.pdf +6172 -0
  231. data/vendor/prawn-core/spec/annotations_spec.rb +90 -0
  232. data/vendor/prawn-core/spec/bounding_box_spec.rb +185 -0
  233. data/vendor/prawn-core/spec/destinations_spec.rb +15 -0
  234. data/vendor/prawn-core/spec/document_spec.rb +408 -0
  235. data/vendor/prawn-core/spec/font_spec.rb +314 -0
  236. data/vendor/prawn-core/spec/graphics_spec.rb +438 -0
  237. data/vendor/prawn-core/spec/images_spec.rb +79 -0
  238. data/vendor/prawn-core/spec/jpg_spec.rb +25 -0
  239. data/vendor/prawn-core/spec/measurement_units_spec.rb +23 -0
  240. data/vendor/prawn-core/spec/name_tree_spec.rb +112 -0
  241. data/vendor/prawn-core/spec/object_store_spec.rb +75 -0
  242. data/vendor/prawn-core/spec/outline_spec.rb +229 -0
  243. data/vendor/prawn-core/spec/pdf_object_spec.rb +122 -0
  244. data/vendor/prawn-core/spec/png_spec.rb +236 -0
  245. data/vendor/prawn-core/spec/reference_spec.rb +82 -0
  246. data/vendor/prawn-core/spec/repeater_spec.rb +96 -0
  247. data/vendor/prawn-core/spec/snapshot_spec.rb +138 -0
  248. data/vendor/prawn-core/spec/span_spec.rb +49 -0
  249. data/vendor/prawn-core/spec/spec_helper.rb +24 -0
  250. data/vendor/prawn-core/spec/stamp_spec.rb +108 -0
  251. data/vendor/prawn-core/spec/stroke_styles_spec.rb +152 -0
  252. data/vendor/prawn-core/spec/text_at_spec.rb +119 -0
  253. data/vendor/prawn-core/spec/text_box_spec.rb +603 -0
  254. data/vendor/prawn-core/spec/text_spec.rb +308 -0
  255. data/vendor/prawn-core/spec/transparency_spec.rb +75 -0
  256. data/vendor/prawn-core/vendor/pdf-inspector/README +18 -0
  257. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector.rb +26 -0
  258. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/extgstate.rb +18 -0
  259. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/graphics.rb +131 -0
  260. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/page.rb +25 -0
  261. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/text.rb +31 -0
  262. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/xobject.rb +19 -0
  263. data/vendor/prawn-core/vendor/ttfunk/data/fonts/DejaVuSans.ttf +0 -0
  264. data/vendor/prawn-core/vendor/ttfunk/data/fonts/comicsans.ttf +0 -0
  265. data/vendor/prawn-core/vendor/ttfunk/example.rb +45 -0
  266. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk.rb +102 -0
  267. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/directory.rb +17 -0
  268. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/mac_roman.rb +88 -0
  269. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/windows_1252.rb +69 -0
  270. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/reader.rb +44 -0
  271. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/resource_file.rb +78 -0
  272. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset.rb +18 -0
  273. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/base.rb +141 -0
  274. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/mac_roman.rb +46 -0
  275. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode.rb +48 -0
  276. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode_8bit.rb +63 -0
  277. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/windows_1252.rb +51 -0
  278. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset_collection.rb +72 -0
  279. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table.rb +46 -0
  280. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap.rb +34 -0
  281. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format00.rb +54 -0
  282. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format04.rb +126 -0
  283. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/subtable.rb +79 -0
  284. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf.rb +64 -0
  285. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/compound.rb +81 -0
  286. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/simple.rb +37 -0
  287. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/head.rb +44 -0
  288. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hhea.rb +41 -0
  289. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hmtx.rb +47 -0
  290. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern.rb +79 -0
  291. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern/format0.rb +62 -0
  292. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/loca.rb +43 -0
  293. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/maxp.rb +40 -0
  294. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/name.rb +119 -0
  295. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/os2.rb +78 -0
  296. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post.rb +91 -0
  297. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format10.rb +43 -0
  298. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format20.rb +35 -0
  299. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format25.rb +23 -0
  300. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format30.rb +17 -0
  301. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format40.rb +17 -0
  302. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/simple.rb +14 -0
  303. data/vendor/prawn-core/www/index.html +196 -0
  304. data/vendor/prawn-core/www/media/bounding_boxes.pdf +146 -0
  305. data/vendor/prawn-core/www/media/bounding_boxes.png +0 -0
  306. data/vendor/prawn-core/www/media/bounding_boxes_out.png +0 -0
  307. data/vendor/prawn-core/www/media/fancy_table.pdf +350 -0
  308. data/vendor/prawn-core/www/media/image.pdf +0 -0
  309. data/vendor/prawn-core/www/media/images.png +0 -0
  310. data/vendor/prawn-core/www/media/prawn_logo.png +0 -0
  311. data/vendor/prawn-core/www/media/tables.png +0 -0
  312. data/vendor/prawn-core/www/media/utf8.pdf +0 -0
  313. data/vendor/prawn-core/www/media/utf8.png +0 -0
  314. data/vendor/prawn-core/www/prawn-Chinese.html +113 -0
  315. data/vendor/prawn-core/www/prawn.css +86 -0
  316. data/vendor/prawn-core/www/twilight.css +266 -0
  317. metadata +374 -0
@@ -0,0 +1,23 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates basic image embedding and positioning functionality.
4
+ # For positioning images alongside flowing text, see the image_flow.rb
5
+ # example.
6
+ #
7
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
8
+
9
+ Prawn::Document.generate("basic_images.pdf", :page_layout => :landscape) do
10
+ stef = "#{Prawn::BASEDIR}/data/images/stef.jpg"
11
+ image stef, :at => [75, 75]
12
+
13
+ stef = "#{Prawn::BASEDIR}/data/images/stef.jpg"
14
+ image stef, :at => [500, 400], :width => 200, :height => 200
15
+
16
+ draw_text "Please enjoy the pigs", :size => 36, :at => [200,15]
17
+
18
+ ruport = "#{Prawn::BASEDIR}/data/images/ruport.png"
19
+ image ruport, :at => [400,200], :width => 150
20
+
21
+ ruport = "#{Prawn::BASEDIR}/data/images/ruport_transparent.png"
22
+ image ruport, :at => [50,525]
23
+ end
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates Prawn's support for CMYK images and colors.
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ Prawn::Document.generate("cmyk.pdf", :page_layout => :landscape) do
8
+ fill_color 50, 100, 0, 0
9
+ text "Prawn is CYMK Friendly"
10
+ fractal = "#{Prawn::BASEDIR}/data/images/fractal.jpg"
11
+ image fractal, :at => [50,450]
12
+ end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates simple curve and circle usage
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ pdf = Prawn::Document.new
8
+ pdf.move_to [100,100]
9
+ pdf.stroke_curve_to [50,50], :bounds => [[60,90], [60, 90]]
10
+ pdf.fill_circle_at [200,200], :radius => 10
11
+ pdf.render_file "curves.pdf"
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Draws and fills a Hexagon using Document#polygon
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ pdf = Prawn::Document.new
8
+
9
+ pdf.fill_color "ff0000"
10
+ pdf.fill_polygon [100, 250], [200, 300], [300, 250],
11
+ [300, 150], [200, 100], [100, 150]
12
+
13
+ pdf.render_file "hexagon.pdf"
@@ -0,0 +1,15 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates fitting an image within a rectangular width and height.
4
+ # The image will be scaled down to fit within the box, while preserving
5
+ # the aspect ratio.
6
+ #
7
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
8
+
9
+ Prawn::Document.generate("image_fit.pdf", :page_layout => :landscape) do
10
+
11
+ pigs = "#{Prawn::BASEDIR}/data/images/pigs.jpg"
12
+ stroke_rectangle [50,450], 200, 200
13
+ image pigs, :at => [50,450], :fit => [200,200]
14
+
15
+ end
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates automated flowing and positioning of images, as well as
4
+ # aligining images along the x-axis via the :position argument. This is
5
+ # useful when used in combination with flowing text, where the exact final
6
+ # position of the image is not known ahead of time.
7
+ #
8
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
9
+
10
+ Prawn::Document.generate("image-flow.pdf", :page_layout => :landscape) do
11
+ self.font_size = 8
12
+ stef = "#{Prawn::BASEDIR}/data/images/stef.jpg"
13
+
14
+ text "Image at default position with no arguments"
15
+
16
+ move_down 10
17
+
18
+ image stef
19
+
20
+ text "Centered image flowing"
21
+
22
+ image stef, :position => :center
23
+
24
+ text "Right aligned image flowing"
25
+
26
+ image stef, :position => :right
27
+
28
+ text "Explicitly left aligned image flowing"
29
+
30
+ move_down 10
31
+
32
+ image stef, :position => :left
33
+
34
+ text "Flowing image at x=50"
35
+
36
+ image stef, :position => 50
37
+ end
@@ -0,0 +1,17 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates vertical and horizontal positioning of images.
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ Prawn::Document.generate("image_position.pdf", :page_layout => :landscape) do
8
+
9
+ dice = "#{Prawn::BASEDIR}/data/images/dice.png"
10
+
11
+ image dice, :scale => 0.2, :position => :left, :vposition => :top
12
+ image dice, :scale => 0.2, :position => :right, :vposition => :top
13
+ image dice, :scale => 0.2, :position => :center, :vposition => :top
14
+ image dice, :scale => 0.2, :position => :center, :vposition => :center
15
+ image dice, :scale => 0.2, :position => :center, :vposition => :bottom
16
+
17
+ end
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+ #
3
+ # The very first Prawn example. Here for nostalgia's sake.
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ pdf = Prawn::Document.new
8
+ pdf.line_width = 10
9
+
10
+ [[100,741,100,641],
11
+ [100,691,150,691],
12
+ [150,741,150,641],
13
+ [200,741,200,641],
14
+ [100,600,100,500],
15
+ [100,600,150,550],
16
+ [100,550,150,550],
17
+ [175,600,175,500],
18
+ [175,600,225,550],
19
+ [175,550,225,550],
20
+ [175,550,225,500],
21
+ [275,600,250,500],
22
+ [275,600,300,500],
23
+ [250,550,300,550],
24
+ [315,600,350,500],
25
+ [350,500,365,550],
26
+ [365,550,380,500],
27
+ [380,500,415,600],
28
+ [430,600,430,500],
29
+ [430,600,465,500],
30
+ [465,600,465,500]].each { |points| pdf.stroke_line(*points) }
31
+
32
+ pdf.render_file "lines.pdf"
@@ -0,0 +1,22 @@
1
+ # encoding: utf-8
2
+ #
3
+ # PNG files come in different flavours - 5 of them. This example embeds
4
+ # one of each type as proof that they all work.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ images = [
9
+ ["Type 0", "#{Prawn::BASEDIR}/data/images/web-links.png"],
10
+ ["Type 2", "#{Prawn::BASEDIR}/data/images/ruport.png"],
11
+ ["Type 3", "#{Prawn::BASEDIR}/data/images/rails.png"],
12
+ ["Type 4", "#{Prawn::BASEDIR}/data/images/page_white_text.png"],
13
+ ["Type 6", "#{Prawn::BASEDIR}/data/images/dice.png"],
14
+ ]
15
+
16
+ Prawn::Document.generate("png_types.pdf", :page_size => "A5") do
17
+ images.each do |header, file|
18
+ start_new_page unless header.include?("0")
19
+ text header
20
+ image file, :at => [50,450]
21
+ end
22
+ end
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Basic polygon drawing example. See also: hexagon.rb
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ pdf = Prawn::Document.new
8
+
9
+ 10.times do |i|
10
+ pdf.stroke_polygon [ 50 + i*25, 50 + i*25],
11
+ [100 + i*25, 50 + i*25],
12
+ [100 + i*25, 100 + i*25]
13
+ pdf.stroke_rectangle [0,600], 5*i, 10*i
14
+ end
15
+
16
+ pdf.render_file "pretty_polygons.pdf"
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates how to use open-uri and Document#image to embed remote image
4
+ # files.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ require "open-uri"
9
+
10
+ Prawn::Document.generate("remote_images.pdf") do
11
+ image open("http://prawn.majesticseacreature.com/media/prawn_logo.png")
12
+ end
@@ -0,0 +1,19 @@
1
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
2
+
3
+ def radian(degree)
4
+ Math::PI/180*degree
5
+ end
6
+
7
+ def point_on_circle(center, radius, degrees)
8
+ [center[0] + radius*(Math.cos(radian(degrees))), center[1] - radius*(Math.sin(radian(degrees)))]
9
+ end
10
+
11
+ pdf = Prawn::Document.new
12
+
13
+ pentagon_points = (0..4).map{|i| point_on_circle([200, 400], 100, i * 72)}
14
+ pentagram_points = [0, 2, 4, 1, 3].map{|i| pentagon_points[i]}
15
+ pdf.stroke_rounded_polygon(20, *pentagram_points)
16
+ pdf.fill_and_stroke_rounded_polygon(10, [100, 250], [200, 300], [300, 250],
17
+ [300, 150], [200, 100], [100, 150])
18
+
19
+ pdf.render_file "rounded_polygon.pdf"
@@ -0,0 +1,20 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Rounded rectangle example demonstrating both stroke and stroke and fill.
4
+ # A rectangle with rounded join_style is added just for comparison.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ pdf = Prawn::Document.new
9
+ pdf.font_size 8
10
+ pdf.draw_text "a stroked rounded rectangle:", :at => [30, 575]
11
+ pdf.stroke_rounded_rectangle([50, 550], 50, 100, 10)
12
+ pdf.draw_text "a stroked and filled rounded rectangle:", :at => [180, 575]
13
+ pdf.fill_and_stroke_rounded_rectangle([200, 550], 50, 100, 10)
14
+ pdf.draw_text "a regular rectangle with rounded join style;", :at => [330, 575]
15
+ pdf.draw_text "needs thick line width for similar result:", :at => [330, 565]
16
+ pdf.join_style :round
17
+ pdf.line_width 10
18
+ pdf.stroke_rectangle([350, 550], 50, 100)
19
+
20
+ pdf.render_file "rounded_rectangle.pdf"
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+ #
3
+ # These helpers will be familiar to Ruport users, and now are supported
4
+ # directly in Prawn. Run the example to see how they work.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ # Demonstrates some features stolen from Ruport::Formatter::PDF
9
+ Prawn::Document.generate("ruport.pdf") do
10
+ move_down 50
11
+ # TODO: Figure out where to set the y cursor to.
12
+ stroke_horizontal_rule
13
+ text "Hi there"
14
+ pad(50) { text "I'm Padded" }
15
+ text "I'm far away"
16
+ stroke_horizontal_line 50, 100
17
+ stroke_horizontal_line 50, 100, :at => 300
18
+ stroke_vertical_line 300, 50, :at => 250
19
+ end
@@ -0,0 +1,20 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates Document#stroke_bounds, which will stroke a rectange outlining
4
+ # the boundaries of the current bounding box. This is useful for debugging
5
+ # and can also be used as a light-weight and lower level alternative to
6
+ # Cells.
7
+ #
8
+ # Feature borrowed from Josh Knowle's pt at:
9
+ # http://github.com/joshknowles/pt/tree/master
10
+ #
11
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
12
+
13
+ Prawn::Document.generate("stroke_bounds.pdf") do
14
+ stroke_bounds
15
+
16
+ bounding_box [100,500], :width => 200, :height => 300 do
17
+ text "Hey there, here's some text. " * 10
18
+ stroke_bounds
19
+ end
20
+ end
@@ -0,0 +1,45 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Stroke dashing can be applied to any line or curve
4
+
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ Prawn::Document.generate("stroke_cap_and_join.pdf") do
8
+ self.line_width = 25
9
+ x0 = bounds.left + 100
10
+ x1 = bounds.left + 200
11
+ x2 = bounds.left + 300
12
+
13
+ y = bounds.top - 125
14
+
15
+ 3.times do |i|
16
+ case i
17
+ when 0
18
+ self.join_style = :miter
19
+ when 1
20
+ self.join_style = :round
21
+ when 2
22
+ self.join_style = :bevel
23
+ end
24
+ stroke do
25
+ move_to(x0, y)
26
+ line_to(x1, y + 100)
27
+ line_to(x2, y)
28
+ end
29
+ y -= 100
30
+ end
31
+
32
+
33
+ 3.times do |i|
34
+ case i
35
+ when 0
36
+ self.cap_style = :butt
37
+ when 1
38
+ self.cap_style = :round
39
+ when 2
40
+ self.cap_style = :projecting_square
41
+ end
42
+ stroke_line([x0, y, x2, y])
43
+ y -= 30
44
+ end
45
+ end
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Stroke dashing can be applied to any line or curve
4
+
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ Prawn::Document.generate("stroke_dash.pdf") do
8
+ self.line_width = 1
9
+ base_y = bounds.top
10
+
11
+ 100.times do |i|
12
+ length = i / 4 + 1
13
+ # space between dashes same length as dash
14
+ space = length
15
+ # start with dash
16
+ phase = 0
17
+ case i % 4
18
+ when 0
19
+ base_y -= 10
20
+ when 1
21
+ # start with space between dashes
22
+ phase = length
23
+ when 2
24
+ base_y -= 10
25
+ # space between dashes half as long as dash
26
+ space = length * 0.5
27
+ when 3
28
+ # space between dashes half as long as dash
29
+ space = length * 0.5
30
+ # start with space between dashes
31
+ phase = length
32
+ end
33
+ dash(length, :space => space, :phase => phase)
34
+ points = [bounds.left, base_y - 2 * i, bounds.right, base_y - 2 * i]
35
+ stroke_line(points)
36
+ end
37
+ i = 100
38
+ base_y -= 10
39
+ undash
40
+ points = [bounds.left, base_y - 2 * i, bounds.right, base_y - 2 * i]
41
+ stroke_line(points)
42
+ end
@@ -0,0 +1,52 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates transformations
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ Prawn::Document.generate "transformations.pdf" do |pdf|
8
+ width = 50
9
+ height = 100
10
+
11
+ # ROTATION
12
+ x = 50
13
+ y = pdf.bounds.top - 50
14
+
15
+ pdf.stroke_rectangle([x, y], width, height)
16
+ pdf.draw_text("reference rectangle", :at => [x + width, y - height])
17
+ pdf.rotate(30, :origin => [x, y]) do
18
+ pdf.stroke_rectangle([x, y], width, height)
19
+ pdf.draw_text("rectangle rotated around upper-left corner", :at => [x + width, y - height])
20
+ end
21
+
22
+ x = 50
23
+ y = pdf.bounds.top - 200
24
+
25
+ pdf.stroke_rectangle([x, y], width, height)
26
+ pdf.draw_text("reference rectangle", :at => [x + width, y - height])
27
+ pdf.rotate(30, :origin => [x + width / 2, y - height / 2]) do
28
+ pdf.stroke_rectangle([x, y], width, height)
29
+ pdf.draw_text("rectangle rotated around center", :at => [x + width, y - height])
30
+ end
31
+
32
+ # SCALE
33
+ x = 0
34
+ y = pdf.bounds.top - 500
35
+
36
+ pdf.stroke_rectangle([x, y], width, height)
37
+ pdf.draw_text("reference rectangle", :at => [x + width, y - height])
38
+ pdf.scale(2, :origin => [x, y]) do
39
+ pdf.stroke_rectangle([x, y], width, height)
40
+ pdf.draw_text("rectangle scaled from upper-left corner", :at => [x + width, y - height])
41
+ end
42
+
43
+ x = 150
44
+ y = pdf.bounds.top - 400
45
+
46
+ pdf.stroke_rectangle([x, y], width, height)
47
+ pdf.draw_text("reference rectangle", :at => [x + width, y - height])
48
+ pdf.scale(2, :origin => [x + width / 2, y - height / 2]) do
49
+ pdf.stroke_rectangle([x, y], width, height)
50
+ pdf.draw_text("rectangle scaled from center", :at => [x + width, y - height])
51
+ end
52
+ end