prawn-graph 0.0.2 → 0.0.3

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 (314) hide show
  1. data/README.markdown +51 -2
  2. data/Rakefile +16 -2
  3. data/lib/prawn/graph.rb +1 -4
  4. data/lib/prawn/graph/bar.rb +39 -143
  5. data/lib/prawn/graph/base.rb +207 -0
  6. data/lib/prawn/graph/errors.rb +2 -1
  7. data/lib/prawn/graph/grid.rb +5 -0
  8. data/lib/prawn/graph/line.rb +40 -1
  9. data/lib/prawn/graph/theme.rb +24 -0
  10. metadata +19 -312
  11. data/vendor/prawn-core/COPYING +0 -340
  12. data/vendor/prawn-core/HACKING +0 -46
  13. data/vendor/prawn-core/LICENSE +0 -56
  14. data/vendor/prawn-core/README +0 -138
  15. data/vendor/prawn-core/Rakefile +0 -75
  16. data/vendor/prawn-core/bench/afm_text_bench.rb +0 -18
  17. data/vendor/prawn-core/bench/png_type_6.rb +0 -15
  18. data/vendor/prawn-core/bench/ttf_text_bench.rb +0 -19
  19. data/vendor/prawn-core/bugs/indentation_across_pagebreaks.rb +0 -15
  20. data/vendor/prawn-core/bugs/resolved/canvas_sets_y_to_0.rb +0 -15
  21. data/vendor/prawn-core/bugs/resolved/png_barcode_issue.rb +0 -11
  22. data/vendor/prawn-core/bugs/resolved/transaction_page_number_issue_79.rb +0 -21
  23. data/vendor/prawn-core/bugs/resolved/ttf_fails_in_transactions.rb +0 -24
  24. data/vendor/prawn-core/data/encodings/win_ansi.txt +0 -29
  25. data/vendor/prawn-core/data/fonts/Action Man.dfont +0 -0
  26. data/vendor/prawn-core/data/fonts/Activa.ttf +0 -0
  27. data/vendor/prawn-core/data/fonts/Chalkboard.ttf +0 -0
  28. data/vendor/prawn-core/data/fonts/Courier-Bold.afm +0 -342
  29. data/vendor/prawn-core/data/fonts/Courier-BoldOblique.afm +0 -342
  30. data/vendor/prawn-core/data/fonts/Courier-Oblique.afm +0 -342
  31. data/vendor/prawn-core/data/fonts/Courier.afm +0 -342
  32. data/vendor/prawn-core/data/fonts/DejaVuSans.ttf +0 -0
  33. data/vendor/prawn-core/data/fonts/Dustismo_Roman.ttf +0 -0
  34. data/vendor/prawn-core/data/fonts/Helvetica-Bold.afm +0 -2827
  35. data/vendor/prawn-core/data/fonts/Helvetica-BoldOblique.afm +0 -2827
  36. data/vendor/prawn-core/data/fonts/Helvetica-Oblique.afm +0 -3051
  37. data/vendor/prawn-core/data/fonts/Helvetica.afm +0 -3051
  38. data/vendor/prawn-core/data/fonts/MustRead.html +0 -19
  39. data/vendor/prawn-core/data/fonts/Symbol.afm +0 -213
  40. data/vendor/prawn-core/data/fonts/Times-Bold.afm +0 -2588
  41. data/vendor/prawn-core/data/fonts/Times-BoldItalic.afm +0 -2384
  42. data/vendor/prawn-core/data/fonts/Times-Italic.afm +0 -2667
  43. data/vendor/prawn-core/data/fonts/Times-Roman.afm +0 -2419
  44. data/vendor/prawn-core/data/fonts/ZapfDingbats.afm +0 -225
  45. data/vendor/prawn-core/data/fonts/comicsans.ttf +0 -0
  46. data/vendor/prawn-core/data/fonts/gkai00mp.ttf +0 -0
  47. data/vendor/prawn-core/data/images/16bit.alpha +0 -0
  48. data/vendor/prawn-core/data/images/16bit.dat +0 -0
  49. data/vendor/prawn-core/data/images/16bit.png +0 -0
  50. data/vendor/prawn-core/data/images/arrow.png +0 -0
  51. data/vendor/prawn-core/data/images/arrow2.png +0 -0
  52. data/vendor/prawn-core/data/images/barcode_issue.png +0 -0
  53. data/vendor/prawn-core/data/images/dice.alpha +0 -0
  54. data/vendor/prawn-core/data/images/dice.dat +0 -0
  55. data/vendor/prawn-core/data/images/dice.png +0 -0
  56. data/vendor/prawn-core/data/images/dice_interlaced.png +0 -0
  57. data/vendor/prawn-core/data/images/fractal.jpg +0 -0
  58. data/vendor/prawn-core/data/images/letterhead.jpg +0 -0
  59. data/vendor/prawn-core/data/images/page_white_text.alpha +0 -0
  60. data/vendor/prawn-core/data/images/page_white_text.dat +0 -0
  61. data/vendor/prawn-core/data/images/page_white_text.png +0 -0
  62. data/vendor/prawn-core/data/images/pigs.jpg +0 -0
  63. data/vendor/prawn-core/data/images/rails.dat +0 -0
  64. data/vendor/prawn-core/data/images/rails.png +0 -0
  65. data/vendor/prawn-core/data/images/ruport.png +0 -0
  66. data/vendor/prawn-core/data/images/ruport_data.dat +0 -0
  67. data/vendor/prawn-core/data/images/ruport_transparent.png +0 -0
  68. data/vendor/prawn-core/data/images/ruport_type0.png +0 -0
  69. data/vendor/prawn-core/data/images/stef.jpg +0 -0
  70. data/vendor/prawn-core/data/images/tru256.bmp +0 -0
  71. data/vendor/prawn-core/data/images/web-links.dat +0 -1
  72. data/vendor/prawn-core/data/images/web-links.png +0 -0
  73. data/vendor/prawn-core/data/shift_jis_text.txt +0 -1
  74. data/vendor/prawn-core/examples/bounding_box/bounding_boxes.rb +0 -43
  75. data/vendor/prawn-core/examples/bounding_box/indentation.rb +0 -34
  76. data/vendor/prawn-core/examples/bounding_box/russian_boxes.rb +0 -36
  77. data/vendor/prawn-core/examples/bounding_box/stretched_nesting.rb +0 -67
  78. data/vendor/prawn-core/examples/column_box/column_box_example.rb +0 -43
  79. data/vendor/prawn-core/examples/example_helper.rb +0 -3
  80. data/vendor/prawn-core/examples/general/background.rb +0 -23
  81. data/vendor/prawn-core/examples/general/canvas.rb +0 -15
  82. data/vendor/prawn-core/examples/general/context_sensitive_headers.rb +0 -37
  83. data/vendor/prawn-core/examples/general/float.rb +0 -11
  84. data/vendor/prawn-core/examples/general/margin.rb +0 -36
  85. data/vendor/prawn-core/examples/general/measurement_units.rb +0 -51
  86. data/vendor/prawn-core/examples/general/metadata-info.rb +0 -16
  87. data/vendor/prawn-core/examples/general/multi_page_layout.rb +0 -18
  88. data/vendor/prawn-core/examples/general/outlines.rb +0 -50
  89. data/vendor/prawn-core/examples/general/page_geometry.rb +0 -31
  90. data/vendor/prawn-core/examples/general/page_numbering.rb +0 -15
  91. data/vendor/prawn-core/examples/general/repeaters.rb +0 -47
  92. data/vendor/prawn-core/examples/general/stamp.rb +0 -41
  93. data/vendor/prawn-core/examples/graphics/basic_images.rb +0 -23
  94. data/vendor/prawn-core/examples/graphics/cmyk.rb +0 -12
  95. data/vendor/prawn-core/examples/graphics/curves.rb +0 -11
  96. data/vendor/prawn-core/examples/graphics/hexagon.rb +0 -13
  97. data/vendor/prawn-core/examples/graphics/image_fit.rb +0 -15
  98. data/vendor/prawn-core/examples/graphics/image_flow.rb +0 -37
  99. data/vendor/prawn-core/examples/graphics/image_position.rb +0 -17
  100. data/vendor/prawn-core/examples/graphics/line.rb +0 -32
  101. data/vendor/prawn-core/examples/graphics/png_types.rb +0 -22
  102. data/vendor/prawn-core/examples/graphics/polygons.rb +0 -16
  103. data/vendor/prawn-core/examples/graphics/remote_images.rb +0 -12
  104. data/vendor/prawn-core/examples/graphics/rounded_polygons.rb +0 -19
  105. data/vendor/prawn-core/examples/graphics/rounded_rectangle.rb +0 -20
  106. data/vendor/prawn-core/examples/graphics/ruport_style_helpers.rb +0 -19
  107. data/vendor/prawn-core/examples/graphics/stroke_bounds.rb +0 -20
  108. data/vendor/prawn-core/examples/graphics/stroke_cap_and_join.rb +0 -45
  109. data/vendor/prawn-core/examples/graphics/stroke_dash.rb +0 -42
  110. data/vendor/prawn-core/examples/graphics/transformations.rb +0 -52
  111. data/vendor/prawn-core/examples/graphics/transparency.rb +0 -26
  112. data/vendor/prawn-core/examples/m17n/chinese_text_wrapping.rb +0 -17
  113. data/vendor/prawn-core/examples/m17n/euro.rb +0 -15
  114. data/vendor/prawn-core/examples/m17n/sjis.rb +0 -28
  115. data/vendor/prawn-core/examples/m17n/utf8.rb +0 -13
  116. data/vendor/prawn-core/examples/m17n/win_ansi_charset.rb +0 -54
  117. data/vendor/prawn-core/examples/text/alignment.rb +0 -18
  118. data/vendor/prawn-core/examples/text/dfont.rb +0 -48
  119. data/vendor/prawn-core/examples/text/family_based_styling.rb +0 -24
  120. data/vendor/prawn-core/examples/text/font_calculations.rb +0 -91
  121. data/vendor/prawn-core/examples/text/font_size.rb +0 -33
  122. data/vendor/prawn-core/examples/text/indent_paragraphs.rb +0 -18
  123. data/vendor/prawn-core/examples/text/kerning.rb +0 -30
  124. data/vendor/prawn-core/examples/text/rotated.rb +0 -98
  125. data/vendor/prawn-core/examples/text/simple_text.rb +0 -17
  126. data/vendor/prawn-core/examples/text/simple_text_ttf.rb +0 -17
  127. data/vendor/prawn-core/examples/text/span.rb +0 -29
  128. data/vendor/prawn-core/examples/text/text_box.rb +0 -88
  129. data/vendor/prawn-core/examples/text/text_box_returning_excess.rb +0 -51
  130. data/vendor/prawn-core/examples/text/text_flow.rb +0 -67
  131. data/vendor/prawn-core/lib/prawn/byte_string.rb +0 -7
  132. data/vendor/prawn-core/lib/prawn/compatibility.rb +0 -51
  133. data/vendor/prawn-core/lib/prawn/core.rb +0 -87
  134. data/vendor/prawn-core/lib/prawn/core/page.rb +0 -88
  135. data/vendor/prawn-core/lib/prawn/core/text.rb +0 -65
  136. data/vendor/prawn-core/lib/prawn/document.rb +0 -596
  137. data/vendor/prawn-core/lib/prawn/document/annotations.rb +0 -65
  138. data/vendor/prawn-core/lib/prawn/document/bounding_box.rb +0 -402
  139. data/vendor/prawn-core/lib/prawn/document/column_box.rb +0 -113
  140. data/vendor/prawn-core/lib/prawn/document/destinations.rb +0 -92
  141. data/vendor/prawn-core/lib/prawn/document/graphics_state.rb +0 -49
  142. data/vendor/prawn-core/lib/prawn/document/internals.rb +0 -153
  143. data/vendor/prawn-core/lib/prawn/document/page_geometry.rb +0 -136
  144. data/vendor/prawn-core/lib/prawn/document/snapshot.rb +0 -80
  145. data/vendor/prawn-core/lib/prawn/document/span.rb +0 -55
  146. data/vendor/prawn-core/lib/prawn/encoding.rb +0 -121
  147. data/vendor/prawn-core/lib/prawn/errors.rb +0 -83
  148. data/vendor/prawn-core/lib/prawn/font.rb +0 -329
  149. data/vendor/prawn-core/lib/prawn/font/afm.rb +0 -217
  150. data/vendor/prawn-core/lib/prawn/font/dfont.rb +0 -34
  151. data/vendor/prawn-core/lib/prawn/font/ttf.rb +0 -341
  152. data/vendor/prawn-core/lib/prawn/graphics.rb +0 -321
  153. data/vendor/prawn-core/lib/prawn/graphics/cap_style.rb +0 -38
  154. data/vendor/prawn-core/lib/prawn/graphics/color.rb +0 -205
  155. data/vendor/prawn-core/lib/prawn/graphics/dash.rb +0 -71
  156. data/vendor/prawn-core/lib/prawn/graphics/join_style.rb +0 -38
  157. data/vendor/prawn-core/lib/prawn/graphics/transformation.rb +0 -157
  158. data/vendor/prawn-core/lib/prawn/graphics/transparency.rb +0 -99
  159. data/vendor/prawn-core/lib/prawn/images.rb +0 -337
  160. data/vendor/prawn-core/lib/prawn/images/jpg.rb +0 -46
  161. data/vendor/prawn-core/lib/prawn/images/png.rb +0 -219
  162. data/vendor/prawn-core/lib/prawn/literal_string.rb +0 -14
  163. data/vendor/prawn-core/lib/prawn/measurement_extensions.rb +0 -46
  164. data/vendor/prawn-core/lib/prawn/measurements.rb +0 -71
  165. data/vendor/prawn-core/lib/prawn/name_tree.rb +0 -166
  166. data/vendor/prawn-core/lib/prawn/object_store.rb +0 -93
  167. data/vendor/prawn-core/lib/prawn/outline.rb +0 -278
  168. data/vendor/prawn-core/lib/prawn/pdf_object.rb +0 -83
  169. data/vendor/prawn-core/lib/prawn/reference.rb +0 -92
  170. data/vendor/prawn-core/lib/prawn/repeater.rb +0 -129
  171. data/vendor/prawn-core/lib/prawn/stamp.rb +0 -128
  172. data/vendor/prawn-core/lib/prawn/text.rb +0 -271
  173. data/vendor/prawn-core/lib/prawn/text/box.rb +0 -414
  174. data/vendor/prawn-core/meta/Rakefile +0 -36
  175. data/vendor/prawn-core/meta/lib/prawn.rb +0 -2
  176. data/vendor/prawn-core/reference_pdfs/alignment.pdf +0 -229
  177. data/vendor/prawn-core/reference_pdfs/background.pdf +0 -0
  178. data/vendor/prawn-core/reference_pdfs/basic_images.pdf +0 -0
  179. data/vendor/prawn-core/reference_pdfs/bounding_boxes.pdf +0 -128
  180. data/vendor/prawn-core/reference_pdfs/canvas.pdf +0 -78
  181. data/vendor/prawn-core/reference_pdfs/chinese_flow.pdf +0 -0
  182. data/vendor/prawn-core/reference_pdfs/cmyk.pdf +0 -0
  183. data/vendor/prawn-core/reference_pdfs/column_box.pdf +0 -3671
  184. data/vendor/prawn-core/reference_pdfs/context_sensitive_headers.pdf +0 -2331
  185. data/vendor/prawn-core/reference_pdfs/curves.pdf +0 -62
  186. data/vendor/prawn-core/reference_pdfs/dfont.pdf +0 -0
  187. data/vendor/prawn-core/reference_pdfs/euro.pdf +0 -75
  188. data/vendor/prawn-core/reference_pdfs/family_style.pdf +0 -286
  189. data/vendor/prawn-core/reference_pdfs/flow.pdf +0 -964
  190. data/vendor/prawn-core/reference_pdfs/font_calculations.pdf +0 -0
  191. data/vendor/prawn-core/reference_pdfs/font_size.pdf +0 -142
  192. data/vendor/prawn-core/reference_pdfs/hexagon.pdf +0 -61
  193. data/vendor/prawn-core/reference_pdfs/image-flow.pdf +0 -0
  194. data/vendor/prawn-core/reference_pdfs/image_fit.pdf +0 -0
  195. data/vendor/prawn-core/reference_pdfs/image_position.pdf +0 -0
  196. data/vendor/prawn-core/reference_pdfs/indentation.pdf +0 -124
  197. data/vendor/prawn-core/reference_pdfs/kerning.pdf +0 -0
  198. data/vendor/prawn-core/reference_pdfs/landscape_a4.pdf +0 -52
  199. data/vendor/prawn-core/reference_pdfs/landscape_legal.pdf +0 -52
  200. data/vendor/prawn-core/reference_pdfs/landscape_letter.pdf +0 -52
  201. data/vendor/prawn-core/reference_pdfs/lines.pdf +0 -116
  202. data/vendor/prawn-core/reference_pdfs/margin.pdf +0 -3850
  203. data/vendor/prawn-core/reference_pdfs/measurement_units.pdf +0 -4667
  204. data/vendor/prawn-core/reference_pdfs/metadata-info.pdf +0 -88
  205. data/vendor/prawn-core/reference_pdfs/multi-layout.pdf +0 -209
  206. data/vendor/prawn-core/reference_pdfs/page_with_numbering.pdf +0 -156
  207. data/vendor/prawn-core/reference_pdfs/png_types.pdf +0 -0
  208. data/vendor/prawn-core/reference_pdfs/portrait_a4.pdf +0 -52
  209. data/vendor/prawn-core/reference_pdfs/portrait_legal.pdf +0 -52
  210. data/vendor/prawn-core/reference_pdfs/portrait_letter.pdf +0 -52
  211. data/vendor/prawn-core/reference_pdfs/pretty_polygons.pdf +0 -122
  212. data/vendor/prawn-core/reference_pdfs/remote_images.pdf +0 -0
  213. data/vendor/prawn-core/reference_pdfs/ruport.pdf +0 -101
  214. data/vendor/prawn-core/reference_pdfs/russian_boxes.pdf +0 -2780
  215. data/vendor/prawn-core/reference_pdfs/simple_text.pdf +0 -136
  216. data/vendor/prawn-core/reference_pdfs/simple_text_ttf.pdf +0 -0
  217. data/vendor/prawn-core/reference_pdfs/sjis.pdf +0 -0
  218. data/vendor/prawn-core/reference_pdfs/span.pdf +0 -1975
  219. data/vendor/prawn-core/reference_pdfs/stamp.pdf +0 -649
  220. data/vendor/prawn-core/reference_pdfs/stretched_nesting.pdf +0 -200
  221. data/vendor/prawn-core/reference_pdfs/stroke_bounds.pdf +0 -135
  222. data/vendor/prawn-core/reference_pdfs/stroke_cap_and_join.pdf +0 -80
  223. data/vendor/prawn-core/reference_pdfs/stroke_dash.pdf +0 -457
  224. data/vendor/prawn-core/reference_pdfs/text_box.pdf +0 -962
  225. data/vendor/prawn-core/reference_pdfs/text_box_returning_excess.pdf +0 -271
  226. data/vendor/prawn-core/reference_pdfs/transparency.pdf +0 -347
  227. data/vendor/prawn-core/reference_pdfs/utf8.pdf +0 -0
  228. data/vendor/prawn-core/reference_pdfs/win-ansi.pdf +0 -6172
  229. data/vendor/prawn-core/spec/annotations_spec.rb +0 -90
  230. data/vendor/prawn-core/spec/bounding_box_spec.rb +0 -185
  231. data/vendor/prawn-core/spec/destinations_spec.rb +0 -15
  232. data/vendor/prawn-core/spec/document_spec.rb +0 -408
  233. data/vendor/prawn-core/spec/font_spec.rb +0 -314
  234. data/vendor/prawn-core/spec/graphics_spec.rb +0 -438
  235. data/vendor/prawn-core/spec/images_spec.rb +0 -79
  236. data/vendor/prawn-core/spec/jpg_spec.rb +0 -25
  237. data/vendor/prawn-core/spec/measurement_units_spec.rb +0 -23
  238. data/vendor/prawn-core/spec/name_tree_spec.rb +0 -112
  239. data/vendor/prawn-core/spec/object_store_spec.rb +0 -75
  240. data/vendor/prawn-core/spec/outline_spec.rb +0 -229
  241. data/vendor/prawn-core/spec/pdf_object_spec.rb +0 -122
  242. data/vendor/prawn-core/spec/png_spec.rb +0 -236
  243. data/vendor/prawn-core/spec/reference_spec.rb +0 -82
  244. data/vendor/prawn-core/spec/repeater_spec.rb +0 -96
  245. data/vendor/prawn-core/spec/snapshot_spec.rb +0 -138
  246. data/vendor/prawn-core/spec/span_spec.rb +0 -49
  247. data/vendor/prawn-core/spec/spec_helper.rb +0 -24
  248. data/vendor/prawn-core/spec/stamp_spec.rb +0 -108
  249. data/vendor/prawn-core/spec/stroke_styles_spec.rb +0 -152
  250. data/vendor/prawn-core/spec/text_at_spec.rb +0 -119
  251. data/vendor/prawn-core/spec/text_box_spec.rb +0 -603
  252. data/vendor/prawn-core/spec/text_spec.rb +0 -308
  253. data/vendor/prawn-core/spec/transparency_spec.rb +0 -75
  254. data/vendor/prawn-core/vendor/pdf-inspector/README +0 -18
  255. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector.rb +0 -26
  256. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/extgstate.rb +0 -18
  257. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/graphics.rb +0 -131
  258. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/page.rb +0 -25
  259. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/text.rb +0 -31
  260. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/xobject.rb +0 -19
  261. data/vendor/prawn-core/vendor/ttfunk/data/fonts/DejaVuSans.ttf +0 -0
  262. data/vendor/prawn-core/vendor/ttfunk/data/fonts/comicsans.ttf +0 -0
  263. data/vendor/prawn-core/vendor/ttfunk/example.rb +0 -45
  264. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk.rb +0 -102
  265. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/directory.rb +0 -17
  266. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/mac_roman.rb +0 -88
  267. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/windows_1252.rb +0 -69
  268. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/reader.rb +0 -44
  269. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/resource_file.rb +0 -78
  270. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset.rb +0 -18
  271. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/base.rb +0 -141
  272. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/mac_roman.rb +0 -46
  273. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode.rb +0 -48
  274. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode_8bit.rb +0 -63
  275. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/windows_1252.rb +0 -51
  276. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset_collection.rb +0 -72
  277. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table.rb +0 -46
  278. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap.rb +0 -34
  279. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format00.rb +0 -54
  280. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format04.rb +0 -126
  281. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/subtable.rb +0 -79
  282. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf.rb +0 -64
  283. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/compound.rb +0 -81
  284. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/simple.rb +0 -37
  285. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/head.rb +0 -44
  286. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hhea.rb +0 -41
  287. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hmtx.rb +0 -47
  288. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern.rb +0 -79
  289. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern/format0.rb +0 -62
  290. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/loca.rb +0 -43
  291. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/maxp.rb +0 -40
  292. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/name.rb +0 -119
  293. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/os2.rb +0 -78
  294. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post.rb +0 -91
  295. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format10.rb +0 -43
  296. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format20.rb +0 -35
  297. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format25.rb +0 -23
  298. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format30.rb +0 -17
  299. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format40.rb +0 -17
  300. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/simple.rb +0 -14
  301. data/vendor/prawn-core/www/index.html +0 -196
  302. data/vendor/prawn-core/www/media/bounding_boxes.pdf +0 -146
  303. data/vendor/prawn-core/www/media/bounding_boxes.png +0 -0
  304. data/vendor/prawn-core/www/media/bounding_boxes_out.png +0 -0
  305. data/vendor/prawn-core/www/media/fancy_table.pdf +0 -350
  306. data/vendor/prawn-core/www/media/image.pdf +0 -0
  307. data/vendor/prawn-core/www/media/images.png +0 -0
  308. data/vendor/prawn-core/www/media/prawn_logo.png +0 -0
  309. data/vendor/prawn-core/www/media/tables.png +0 -0
  310. data/vendor/prawn-core/www/media/utf8.pdf +0 -0
  311. data/vendor/prawn-core/www/media/utf8.png +0 -0
  312. data/vendor/prawn-core/www/prawn-Chinese.html +0 -113
  313. data/vendor/prawn-core/www/prawn.css +0 -86
  314. data/vendor/prawn-core/www/twilight.css +0 -266
@@ -1,321 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # graphics.rb : Implements PDF drawing primitives
4
- #
5
- # Copyright April 2008, Gregory Brown. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
-
9
- require "prawn/graphics/color"
10
- require "prawn/graphics/dash"
11
- require "prawn/graphics/cap_style"
12
- require "prawn/graphics/join_style"
13
- require "prawn/graphics/transparency"
14
- require "prawn/graphics/transformation"
15
-
16
- module Prawn
17
-
18
- # Implements the drawing facilities for Prawn::Document.
19
- # Use this to draw the most beautiful imaginable things.
20
- #
21
- # This file lifts and modifies several of PDF::Writer's graphics functions
22
- # ruby-pdf.rubyforge.org
23
- #
24
- module Graphics
25
-
26
- include Color
27
- include Dash
28
- include CapStyle
29
- include JoinStyle
30
- include Transparency
31
- include Transformation
32
-
33
- #######################################################################
34
- # Low level drawing operations must map the point to absolute coords! #
35
- #######################################################################
36
-
37
- # Moves the drawing position to a given point. The point can be
38
- # specified as a tuple or a flattened argument list
39
- #
40
- # pdf.move_to [100,50]
41
- # pdf.move_to(100,50)
42
- #
43
- def move_to(*point)
44
- x,y = map_to_absolute(point)
45
- add_content("%.3f %.3f m" % [ x, y ])
46
- end
47
-
48
- # Draws a line from the current drawing position to the specified point.
49
- # The destination may be described as a tuple or a flattened list:
50
- #
51
- # pdf.line_to [50,50]
52
- # pdf.line_to(50,50)
53
- #
54
- def line_to(*point)
55
- x,y = map_to_absolute(point)
56
- add_content("%.3f %.3f l" % [ x, y ])
57
- end
58
-
59
- # Draws a Bezier curve from the current drawing position to the
60
- # specified point, bounded by two additional points.
61
- #
62
- # pdf.curve_to [100,100], :bounds => [[90,90],[75,75]]
63
- #
64
- def curve_to(dest,options={})
65
- options[:bounds] or raise Prawn::Errors::InvalidGraphicsPath,
66
- "Bounding points for bezier curve must be specified "+
67
- "as :bounds => [[x1,y1],[x2,y2]]"
68
-
69
- curve_points = (options[:bounds] << dest).map { |e| map_to_absolute(e) }
70
- add_content("%.3f %.3f %.3f %.3f %.3f %.3f c" %
71
- curve_points.flatten )
72
- end
73
-
74
- # Draws a rectangle given <tt>point</tt>, <tt>width</tt> and
75
- # <tt>height</tt>. The rectangle is bounded by its upper-left corner.
76
- #
77
- # pdf.rectangle [300,300], 100, 200
78
- #
79
- def rectangle(point,width,height)
80
- x,y = map_to_absolute(point)
81
- add_content("%.3f %.3f %.3f %.3f re" % [ x, y - height, width, height ])
82
- end
83
-
84
- # Draws a rounded rectangle given <tt>point</tt>, <tt>width</tt> and
85
- # <tt>height</tt> and <tt>radius</tt> for the rounded corner. The rectangle
86
- # is bounded by its upper-left corner.
87
- #
88
- # pdf.rounded_rectangle [300,300], 100, 200, 10
89
- #
90
- def rounded_rectangle(point,width,height,radius)
91
- x, y = point
92
- rounded_polygon(radius, point, [x + width, y], [x + width, y - height], [x, y - height])
93
- end
94
-
95
-
96
- ###########################################################
97
- # Higher level functions: May use relative coords #
98
- ###########################################################
99
-
100
- # Sets line thickness to the <tt>width</tt> specified.
101
- #
102
- def line_width=(width)
103
- @line_width = width
104
- add_content("#{width} w")
105
- end
106
-
107
- # When called without an argument, returns the current line thickness.
108
- # When called with an argument, sets the line thickness to the specified
109
- # value (in PDF points)
110
- #
111
- # pdf.line_width #=> 1
112
- # pdf.line_width(5)
113
- # pdf.line_width #=> 5
114
- #
115
- def line_width(width=nil)
116
- if width
117
- self.line_width = width
118
- else
119
- (defined?(@line_width) && @line_width) || 1
120
- end
121
- end
122
-
123
- # Draws a line from one point to another. Points may be specified as
124
- # tuples or flattened argument list:
125
- #
126
- # pdf.line [100,100], [200,250]
127
- # pdf.line(100,100,200,250)
128
- #
129
- def line(*points)
130
- x0,y0,x1,y1 = points.flatten
131
- move_to(x0, y0)
132
- line_to(x1, y1)
133
- end
134
-
135
- # Draws a horizontal line from <tt>x1</tt> to <tt>x2</tt> at the
136
- # current <tt>y</tt> position, or the position specified by the :at option.
137
- #
138
- # # draw a line from [25, 75] to [100, 75]
139
- # horizontal_line 25, 100, :at => 75
140
- #
141
- def horizontal_line(x1,x2,options={})
142
- if options[:at]
143
- y1 = options[:at]
144
- else
145
- y1 = y - bounds.absolute_bottom
146
- end
147
-
148
- line(x1,y1,x2,y1)
149
- end
150
-
151
- # Draws a horizontal line from the left border to the right border of the
152
- # bounding box at the current <tt>y</tt> position.
153
- #
154
- def horizontal_rule
155
- horizontal_line(bounds.left, bounds.right)
156
- end
157
-
158
- # Draws a vertical line at the x cooordinate given by :at from y1 to y2.
159
- #
160
- # # draw a line from [25, 100] to [25, 300]
161
- # vertical_line 100, 300, :at => 25
162
- #
163
- def vertical_line(y1,y2,params)
164
- line(params[:at],y1,params[:at],y2)
165
- end
166
-
167
- # Draws a Bezier curve between two points, bounded by two additional
168
- # points
169
- #
170
- # pdf.curve [50,100], [100,100], :bounds => [[90,90],[75,75]]
171
- #
172
- def curve(origin,dest, options={})
173
- move_to(*origin)
174
- curve_to(dest,options)
175
- end
176
-
177
- # This constant is used to approximate a symmetrical arc using a cubic
178
- # Bezier curve.
179
- #
180
- KAPPA = 4.0 * ((Math.sqrt(2) - 1.0) / 3.0)
181
-
182
- # Draws a circle of radius <tt>:radius</tt> with the centre-point at <tt>point</tt>
183
- # as a complete subpath. The drawing point will be moved to the
184
- # centre-point upon completion of the drawing the circle.
185
- #
186
- # pdf.circle_at [100,100], :radius => 25
187
- #
188
- def circle_at(point, options)
189
- x,y = point
190
- ellipse_at [x, y], options[:radius]
191
- end
192
-
193
- # Draws an ellipse of +x+ radius <tt>r1</tt> and +y+ radius <tt>r2</tt>
194
- # with the centre-point at <tt>point</tt> as a complete subpath. The
195
- # drawing point will be moved to the centre-point upon completion of the
196
- # drawing the ellipse.
197
- #
198
- # # draws an ellipse with x-radius 25 and y-radius 50
199
- # pdf.ellipse_at [100,100], 25, 50
200
- #
201
- def ellipse_at(point, r1, r2 = r1)
202
- x, y = point
203
- l1 = r1 * KAPPA
204
- l2 = r2 * KAPPA
205
-
206
- move_to(x + r1, y)
207
-
208
- # Upper right hand corner
209
- curve_to [x, y + r2],
210
- :bounds => [[x + r1, y + l1], [x + l2, y + r2]]
211
-
212
- # Upper left hand corner
213
- curve_to [x - r1, y],
214
- :bounds => [[x - l2, y + r2], [x - r1, y + l1]]
215
-
216
- # Lower left hand corner
217
- curve_to [x, y - r2],
218
- :bounds => [[x - r1, y - l1], [x - l2, y - r2]]
219
-
220
- # Lower right hand corner
221
- curve_to [x + r1, y],
222
- :bounds => [[x + l2, y - r2], [x + r1, y - l1]]
223
-
224
- move_to(x, y)
225
- end
226
-
227
- # Draws a polygon from the specified points.
228
- #
229
- # # draws a snazzy triangle
230
- # pdf.polygon [100,100], [100,200], [200,200]
231
- #
232
- def polygon(*points)
233
- move_to points[0]
234
- (points[1..-1] << points[0]).each do |point|
235
- line_to(*point)
236
- end
237
- end
238
-
239
- # Draws a rounded polygon from specified points using the radius to define bezier curves
240
- #
241
- # # draws a rounded filled in polygon
242
- # pdf.fill_and_stroke_rounded_polygon(10, [100, 250], [200, 300], [300, 250],
243
- # [300, 150], [200, 100], [100, 150])
244
- def rounded_polygon(radius, *points)
245
- move_to point_on_line(radius, points[1], points[0])
246
- sides = points.size
247
- points << points[0] << points[1]
248
- (sides).times do |i|
249
- rounded_vertex(radius, points[i], points[i + 1], points[i + 2])
250
- end
251
- end
252
-
253
-
254
- # Creates a rounded vertex for a line segment used for building a rounded polygon
255
- # requires a radius to define bezier curve and three points. The first two points define
256
- # the line segment and the third point helps define the curve for the vertex.
257
- def rounded_vertex(radius, *points)
258
- x0,y0,x1,y1,x2,y2 = points.flatten
259
- radial_point_1 = point_on_line(radius, points[0], points[1])
260
- bezier_point_1 = point_on_line((radius - radius*KAPPA), points[0], points[1] )
261
- radial_point_2 = point_on_line(radius, points[2], points[1])
262
- bezier_point_2 = point_on_line((radius - radius*KAPPA), points[2], points[1])
263
- line_to(radial_point_1)
264
- curve_to(radial_point_2, :bounds => [bezier_point_1, bezier_point_2])
265
- end
266
-
267
- # Strokes and closes the current path. See Graphic::Color for color details
268
- #
269
- def stroke
270
- yield if block_given?
271
- add_content "S"
272
- end
273
-
274
- # Draws and strokes a rectangle represented by the current bounding box
275
- #
276
- def stroke_bounds
277
- stroke_rectangle bounds.top_left, bounds.width, bounds.height
278
- end
279
-
280
- # Fills and closes the current path. See Graphic::Color for color details
281
- #
282
- def fill
283
- yield if block_given?
284
- add_content "f"
285
- end
286
-
287
- # Fills, strokes, and closes the current path. See Graphic::Color for color details
288
- #
289
- def fill_and_stroke
290
- yield if block_given?
291
- add_content "b"
292
- end
293
-
294
- private
295
-
296
- def map_to_absolute(*point)
297
- x,y = point.flatten
298
- [@bounding_box.absolute_left + x, @bounding_box.absolute_bottom + y]
299
- end
300
-
301
- def map_to_absolute!(point)
302
- point.replace(map_to_absolute(point))
303
- end
304
-
305
- def degree_to_rad(angle)
306
- angle * Math::PI / 180
307
- end
308
-
309
- # Returns the coordinates for a point on a line that is a given distance away from the second
310
- # point defining the line segement
311
- def point_on_line(distance_from_end, *points)
312
- x0,y0,x1,y1 = points.flatten
313
- length = Math.sqrt((x1 - x0)**2 + (y1 - y0)**2)
314
- p = (length - distance_from_end) / length
315
- xr = x0 + p*(x1 - x0)
316
- yr = y0 + p*(y1 - y0)
317
- [xr, yr]
318
- end
319
-
320
- end
321
- end
@@ -1,38 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # cap_style.rb : Implements stroke cap styling
4
- #
5
- # Contributed by Daniel Nelson. October, 2009
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
- #
9
- module Prawn
10
- module Graphics
11
- module CapStyle
12
-
13
- CAP_STYLES = { :butt => 0, :round => 1, :projecting_square => 2 }
14
-
15
- # Sets the cap style for stroked lines and curves
16
- #
17
- # style is one of :butt, :round, or :projecting_square
18
- #
19
- # NOTE: If this method is never called, :butt will be used by default.
20
- #
21
- def cap_style(style=nil)
22
- return @cap_style || :butt if style.nil?
23
-
24
- @cap_style = style
25
-
26
- write_stroke_cap_style
27
- end
28
-
29
- alias_method :cap_style=, :cap_style
30
-
31
- private
32
-
33
- def write_stroke_cap_style
34
- add_content "#{CAP_STYLES[@cap_style]} J"
35
- end
36
- end
37
- end
38
- end
@@ -1,205 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # color.rb : Implements color handling
4
- #
5
- # Copyright June 2008, Gregory Brown. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
- #
9
- module Prawn
10
- module Graphics
11
- module Color
12
-
13
- # Sets or returns the fill color.
14
- #
15
- # When called with no argument, it returns the current fill color.
16
- #
17
- # If a single argument is provided, it should be a 6 digit HTML color
18
- # code.
19
- #
20
- # pdf.fill_color "f0ffc1"
21
- #
22
- # If 4 arguments are provided, the color is assumed to be a CMYK value
23
- # Values range from 0 - 100.
24
- #
25
- # pdf.fill_color 0, 99, 95, 0
26
- #
27
- def fill_color(*color)
28
- return @fill_color if color.empty?
29
- @fill_color = process_color(*color)
30
- set_fill_color
31
- end
32
-
33
- alias_method :fill_color=, :fill_color
34
-
35
- # Sets or returns the line stroking color.
36
- #
37
- # When called with no argument, it returns the current stroking color.
38
- #
39
- # If a single argument is provided, it should be a 6 digit HTML color
40
- # code.
41
- #
42
- # pdf.stroke_color "f0ffc1"
43
- #
44
- # If 4 arguments are provided, the color is assumed to be a CMYK value
45
- # Values range from 0 - 100.
46
- #
47
- # pdf.stroke_color 0, 99, 95, 0
48
- #
49
- def stroke_color(*color)
50
- return @stroke_color if color.empty?
51
- @stroke_color = process_color(*color)
52
- set_stroke_color
53
- end
54
-
55
- alias_method :stroke_color=, :stroke_color
56
-
57
- # Provides the following shortcuts:
58
- #
59
- # stroke_some_method(*args) #=> some_method(*args); stroke
60
- # fill_some_method(*args) #=> some_method(*args); fill
61
- # fill_and_stroke_some_method(*args) #=> some_method(*args); fill_and_stroke
62
- #
63
- def method_missing(id,*args,&block)
64
- case(id.to_s)
65
- when /^fill_and_stroke_(.*)/
66
- send($1,*args,&block); fill_and_stroke
67
- when /^stroke_(.*)/
68
- send($1,*args,&block); stroke
69
- when /^fill_(.*)/
70
- send($1,*args,&block); fill
71
- else
72
- super
73
- end
74
- end
75
-
76
- module_function
77
-
78
- # Converts RGB value array to hex string suitable for use with fill_color
79
- # and stroke_color
80
- #
81
- # >> Prawn::Graphics::Color.rgb2hex([255,120,8])
82
- # => "ff7808"
83
- #
84
- def rgb2hex(rgb)
85
- rgb.map { |e| "%02x" % e }.join
86
- end
87
-
88
- # Converts hex string into RGB value array:
89
- #
90
- # >> Prawn::Graphics::Color.hex2rgb("ff7808")
91
- # => [255, 120, 8]
92
- #
93
- def hex2rgb(hex)
94
- r,g,b = hex[0..1], hex[2..3], hex[4..5]
95
- [r,g,b].map { |e| e.to_i(16) }
96
- end
97
-
98
- private
99
-
100
- def process_color(*color)
101
- case(color.size)
102
- when 1
103
- color[0]
104
- when 4
105
- color
106
- else
107
- raise ArgumentError, 'wrong number of arguments supplied'
108
- end
109
- end
110
-
111
- def color_type(color)
112
- case color
113
- when String
114
- :RGB
115
- when Array
116
- :CMYK
117
- end
118
- end
119
-
120
- def normalize_color(color)
121
- case color_type(color)
122
- when :RGB
123
- r,g,b = hex2rgb(color)
124
- [r / 255.0, g / 255.0, b / 255.0]
125
- when :CMYK
126
- c,m,y,k = *color
127
- [c / 100.0, m / 100.0, y / 100.0, k / 100.0]
128
- end
129
- end
130
-
131
- def color_to_s(color)
132
- normalize_color(color).map { |c| '%.3f' % c }.join(' ')
133
- end
134
-
135
- def color_space(color)
136
- case color_type(color)
137
- when :RGB
138
- :DeviceRGB
139
- when :CMYK
140
- :DeviceCMYK
141
- end
142
- end
143
-
144
- COLOR_SPACES = [:DeviceRGB, :DeviceCMYK, :Pattern]
145
-
146
- def set_color_space(type, color_space)
147
- # don't set the same color space again
148
- return if @color_space[type] == color_space
149
- @color_space[type] = color_space
150
-
151
- unless COLOR_SPACES.include?(color_space)
152
- raise ArgumentError, "unknown color space: '#{color_space}'"
153
- end
154
-
155
- operator = case type
156
- when :fill
157
- 'cs'
158
- when :stroke
159
- 'CS'
160
- else
161
- raise ArgumentError, "unknown type '#{type}'"
162
- end
163
-
164
- add_content "/#{color_space} #{operator}"
165
- end
166
-
167
- def set_color(type, color, options = {})
168
- operator = case type
169
- when :fill
170
- 'scn'
171
- when :stroke
172
- 'SCN'
173
- else
174
- raise ArgumentError, "unknown type '#{type}'"
175
- end
176
-
177
- if options[:pattern]
178
- set_color_space type, :Pattern
179
- add_content "/#{color} #{operator}"
180
- else
181
- set_color_space type, color_space(color)
182
- color = color_to_s(color)
183
- add_content "#{color} #{operator}"
184
- end
185
- end
186
-
187
- def set_fill_color
188
- set_color :fill, @fill_color
189
- end
190
-
191
- def set_stroke_color
192
- set_color :stroke, @stroke_color
193
- end
194
-
195
- def update_colors
196
- @color_space = {}
197
- @fill_color ||= "000000"
198
- @stroke_color ||= "000000"
199
- set_fill_color
200
- set_stroke_color
201
- end
202
- end
203
- end
204
- end
205
-