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,93 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # object_store.rb : Implements PDF object repository for Prawn
4
- #
5
- # Copyright August 2009, Brad Ediger. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
- module Prawn
9
- class ObjectStore #:nodoc:
10
- include Enumerable
11
- BASE_OBJECTS = %w[info pages root]
12
-
13
- def initialize(info={})
14
- @objects = {}
15
- @identifiers = []
16
-
17
- # Create required PDF roots
18
- @info = ref(info).identifier
19
- @pages = ref(:Type => :Pages, :Count => 0, :Kids => []).identifier
20
- @root = ref(:Type => :Catalog, :Pages => pages).identifier
21
- end
22
-
23
- def ref(data, &block)
24
- push(size + 1, data, &block)
25
- end
26
-
27
- %w[info pages root].each do |name|
28
- define_method(name) do
29
- @objects[instance_variable_get("@#{name}")]
30
- end
31
- end
32
-
33
- # Adds the given reference to the store and returns the reference object.
34
- # If the object provided is not a Prawn::Reference, one is created from the
35
- # arguments provided.
36
- def push(*args, &block)
37
- reference = if args.first.is_a?(Prawn::Reference)
38
- args.first
39
- else
40
- Prawn::Reference.new(*args, &block)
41
- end
42
- @objects[reference.identifier] = reference
43
- @identifiers << reference.identifier
44
- reference
45
- end
46
- alias_method :<<, :push
47
-
48
- def each
49
- @identifiers.each do |id|
50
- yield @objects[id]
51
- end
52
- end
53
-
54
- def [](id)
55
- @objects[id]
56
- end
57
-
58
- def size
59
- @identifiers.size
60
- end
61
- alias_method :length, :size
62
-
63
- def compact
64
- # Clear live markers
65
- each { |o| o.live = false }
66
-
67
- # Recursively mark reachable objects live, starting from the roots
68
- # (the only objects referenced in the trailer)
69
- root.mark_live
70
- info.mark_live
71
-
72
- # Renumber live objects to eliminate gaps (shrink the xref table)
73
- if @objects.any?{ |_, o| !o.live }
74
- new_id = 1
75
- new_objects = {}
76
- new_identifiers = []
77
-
78
- each do |obj|
79
- if obj.live
80
- obj.identifier = new_id
81
- new_objects[new_id] = obj
82
- new_identifiers << new_id
83
- new_id += 1
84
- end
85
- end
86
-
87
- @objects = new_objects
88
- @identifiers = new_identifiers
89
- end
90
- end
91
-
92
- end
93
- end
@@ -1,278 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # generates outline dictionary and items for document
4
- #
5
- # Author Jonathan Greenberg
6
-
7
- require 'forwardable'
8
-
9
- module Prawn
10
-
11
- class Document
12
-
13
- # See Outline#define below for documentation
14
- def define_outline(&block)
15
- outline.define(&block)
16
- end
17
-
18
- # The Outline dictionary (12.3.3) for this document. It is
19
- # lazily initialized, so that documents that do not have an outline
20
- # do not incur the additional overhead.
21
- def outline_root(outline_root)
22
- @store.root.data[:Outlines] ||= ref!(outline_root)
23
- end
24
-
25
- # Lazily instantiates an Outline object for document. This is used as point of entry
26
- # to methods to build the outline tree.
27
- def outline
28
- @outline ||= Outline.new(self)
29
- end
30
-
31
- end
32
-
33
- # The Outline class organizes the outline tree items for the document.
34
- # Note that the prev and parent instance variables are adjusted while navigating
35
- # through the nested blocks. These variables along with the presence or absense
36
- # of blocks are the primary means by which the relations for the various
37
- # OutlineItems and the OutlineRoot are set. Unfortunately, the best way to
38
- # understand how this works is to follow the method calls through a real example.
39
- #
40
- # Some ideas for the organization of this class were gleaned from name_tree. In
41
- # particular the way in which the OutlineItems are finally rendered into document
42
- # objects in PdfObject through a hash.
43
- #
44
- class Outline
45
-
46
- extend Forwardable
47
- def_delegator :@document, :page_number
48
-
49
- attr_accessor :parent
50
- attr_accessor :prev
51
- attr_accessor :document
52
- attr_accessor :outline_root
53
- attr_accessor :items
54
-
55
- def initialize(document)
56
- @document = document
57
- @outline_root = document.outline_root(OutlineRoot.new)
58
- @parent = outline_root
59
- @prev = nil
60
- @items = {}
61
- end
62
-
63
- # Defines an outline for the document.
64
- # The outline is an optional nested index that appears on the side of a PDF
65
- # document usually with direct links to pages. The outline DSL is defined by nested
66
- # blocks involving two methods: section and page.
67
- #
68
- # section(title, options{}, &block)
69
- # title: the outline text that appears for the section.
70
- # options: page - optional integer defining the page number for a destination link.
71
- # - currently only :FIT destination supported with link to top of page.
72
- # closed - whether the section should show its nested outline elements.
73
- # - defaults to false.
74
- # page(page, options{})
75
- # page: integer defining the page number for the destination link.
76
- # currently only :FIT destination supported with link to top of page.
77
- # set to nil if destination link is not desired.
78
- # options: title - the outline text that appears for the section.
79
- # closed - whether the section should show its nested outline elements.
80
- # - defaults to false.
81
- #
82
- # The syntax is best illustrated with an example:
83
- #
84
- # Prawn::Document.generate(outlined document) do
85
- # text "Page 1. This is the first Chapter. "
86
- # start_new_page
87
- # text "Page 2. More in the first Chapter. "
88
- # start_new_page
89
- # define_outline do
90
- # section 'Chapter 1', :page => 1, :closed => true do
91
- # page 1, :title => 'Page 1'
92
- # page 2, :title => 'Page 2'
93
- # end
94
- # end
95
- # end
96
- #
97
- # It should be noted that not defining a title for a page element will raise
98
- # a RequiredOption error
99
- #
100
- def define(&block)
101
- if block
102
- block.arity < 1 ? instance_eval(&block) : block[self]
103
- end
104
- end
105
-
106
- # Adds an outine section to the outline tree (see define_outline).
107
- # Although you will probably choose to exclusively use define_outline so
108
- # that your outline tree is contained and easy to manage, this method
109
- # gives you the option to add sections to the outline tree at any point
110
- # during document generation. Note that the section will be added at the
111
- # top level at the end of the outline. For more a more flexible API try
112
- # using outline.insert_section_after.
113
- #
114
- # block uses the same DSL syntax as define_outline, for example:
115
- #
116
- # outline.add_section do
117
- # section 'Added Section', :page => 3 do
118
- # page 3, :title => 'Page 3'
119
- # end
120
- # end
121
- def add_section(&block)
122
- @parent = outline_root
123
- @prev = outline_root.data.last
124
- if block
125
- block.arity < 1 ? instance_eval(&block) : block[self]
126
- end
127
- end
128
-
129
- # Inserts an outline section to the outline tree (see define_outline).
130
- # Although you will probably choose to exclusively use define_outline so
131
- # that your outline tree is contained and easy to manage, this method
132
- # gives you the option to insert sections to the outline tree at any point
133
- # during document generation. Unlike outline.add_section, this method allows
134
- # you to enter a section after any other item at any level in the outline tree.
135
- # Currently the only way to locate the place of entry is with the title for the
136
- # item. If your titles names are not unique consider using define_outline.
137
- #
138
- # block uses the same DSL syntax as define_outline, for example:
139
- #
140
- # go_to_page 2
141
- # start_new_page
142
- # text "Inserted Page"
143
- # outline.insert_section_after :title => 'Page 2' do
144
- # page page_number, :title => "Inserted Page"
145
- # end
146
- #
147
- def insert_section_after(title, &block)
148
- @prev = items[title]
149
- if @prev
150
- @parent = @prev.data.parent
151
- nxt = @prev.data.next
152
- if block
153
- block.arity < 1 ? instance_eval(&block) : block[self]
154
- end
155
- adjust_relations(nxt)
156
- else
157
- raise Prawn::Errors::UnknownOutlineTitle,
158
- "\n No outline item with title: '#{title}' exists in the outline tree"
159
- end
160
- end
161
-
162
- private
163
-
164
- def section(title, options = {}, &block)
165
- add_outline_item(title, options, &block)
166
- end
167
-
168
- def page(page = nil, options = {})
169
- if options[:title]
170
- title = options[:title]
171
- options[:page] = page
172
- else
173
- raise Prawn::Errors::RequiredOption,
174
- "\nTitle is a required option for page"
175
- end
176
- add_outline_item(title, options)
177
- end
178
-
179
- def add_outline_item(title, options, &block)
180
- outline_item = create_outline_item(title, options)
181
- set_relations(outline_item)
182
- increase_count
183
- set_variables_for_block(outline_item, block)
184
- block.call if block
185
- reset_parent(outline_item)
186
- end
187
-
188
- def create_outline_item(title, options)
189
- outline_item = OutlineItem.new(title, parent, options)
190
-
191
- if options[:page]
192
- page_index = options[:page] - 1
193
- outline_item.dest = [document.pages[page_index].dictionary, :Fit]
194
- end
195
-
196
- outline_item.prev = prev if @prev
197
- items[title] = document.ref!(outline_item)
198
- end
199
-
200
- def set_relations(outline_item)
201
- prev.data.next = outline_item if prev
202
- parent.data.first = outline_item unless prev
203
- parent.data.last = outline_item
204
- end
205
-
206
- def increase_count
207
- counting_parent = parent
208
- while counting_parent
209
- counting_parent.data.count += 1
210
- if counting_parent == outline_root
211
- counting_parent = nil
212
- else
213
- counting_parent = counting_parent.data.parent
214
- end
215
- end
216
- end
217
-
218
- def set_variables_for_block(outline_item, block)
219
- self.prev = block ? nil : outline_item
220
- self.parent = outline_item if block
221
- end
222
-
223
- def reset_parent(outline_item)
224
- if parent == outline_item
225
- self.prev = outline_item
226
- self.parent = outline_item.data.parent
227
- end
228
- end
229
-
230
- def adjust_relations(nxt)
231
- if nxt
232
- nxt.data.prev = @prev
233
- @prev.data.next = nxt
234
- @parent.data.last = nxt
235
- else
236
- @parent.data.last = @prev
237
- end
238
- end
239
-
240
- end
241
-
242
- class OutlineRoot #:nodoc:
243
- attr_accessor :count, :first, :last
244
-
245
- def initialize
246
- @count = 0
247
- end
248
-
249
- def to_hash
250
- {:Type => :Outlines, :Count => count, :First => first, :Last => last}
251
- end
252
- end
253
-
254
- class OutlineItem #:nodoc:
255
- attr_accessor :count, :first, :last, :next, :prev, :parent, :title, :dest, :closed
256
-
257
- def initialize(title, parent, options)
258
- @closed = options[:closed]
259
- @title = title
260
- @parent = parent
261
- @count = 0
262
- end
263
-
264
- def to_hash
265
- hash = { :Title => Prawn::LiteralString.new(title),
266
- :Parent => parent,
267
- :Count => closed ? -count : count }
268
- [{:First => first}, {:Last => last}, {:Next => @next},
269
- {:Prev => prev}, {:Dest => dest}].each do |h|
270
- unless h.values.first.nil?
271
- hash.merge!(h)
272
- end
273
- end
274
- hash
275
- end
276
- end
277
- end
278
-
@@ -1,83 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # pdf_object.rb : Handles Ruby to PDF object serialization
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/byte_string'
10
-
11
- # Top level Module
12
- #
13
- module Prawn
14
-
15
- module_function
16
-
17
- # Serializes Ruby objects to their PDF equivalents. Most primitive objects
18
- # will work as expected, but please note that Name objects are represented
19
- # by Ruby Symbol objects and Dictionary objects are represented by Ruby hashes
20
- # (keyed by symbols)
21
- #
22
- # Examples:
23
- #
24
- # PdfObject(true) #=> "true"
25
- # PdfObject(false) #=> "false"
26
- # PdfObject(1.2124) #=> "1.2124"
27
- # PdfObject("foo bar") #=> "(foo bar)"
28
- # PdfObject(:Symbol) #=> "/Symbol"
29
- # PdfObject(["foo",:bar, [1,2]]) #=> "[foo /bar [1 2]]"
30
- #
31
- def PdfObject(obj, in_content_stream = false)
32
- case(obj)
33
- when NilClass then "null"
34
- when TrueClass then "true"
35
- when FalseClass then "false"
36
- when Numeric then String(obj)
37
- when Array
38
- "[" << obj.map { |e| PdfObject(e, in_content_stream) }.join(' ') << "]"
39
- when Prawn::LiteralString
40
- obj = obj.gsub(/[\\\n\(\)]/) { |m| "\\#{m}" }
41
- "(#{obj})"
42
- when Time
43
- obj = obj.strftime("D:%Y%m%d%H%M%S%z").chop.chop + "'00'"
44
- obj = obj.gsub(/[\\\n\(\)]/) { |m| "\\#{m}" }
45
- "(#{obj})"
46
- when Prawn::ByteString
47
- "<" << obj.unpack("H*").first << ">"
48
- when String
49
- obj = "\xFE\xFF" + obj.unpack("U*").pack("n*") unless in_content_stream
50
- "<" << obj.unpack("H*").first << ">"
51
- when Symbol
52
- if (obj = obj.to_s) =~ /\s/
53
- raise Prawn::Errors::FailedObjectConversion,
54
- "A PDF Name cannot contain whitespace"
55
- else
56
- "/" << obj
57
- end
58
- when Hash
59
- output = "<< "
60
- obj.each do |k,v|
61
- unless String === k || Symbol === k
62
- raise Prawn::Errors::FailedObjectConversion,
63
- "A PDF Dictionary must be keyed by names"
64
- end
65
- output << PdfObject(k.to_sym, in_content_stream) << " " <<
66
- PdfObject(v, in_content_stream) << "\n"
67
- end
68
- output << ">>"
69
- when Prawn::Reference
70
- obj.to_s
71
- when Prawn::NameTree::Node
72
- PdfObject(obj.to_hash)
73
- when Prawn::NameTree::Value
74
- PdfObject(obj.name) + " " + PdfObject(obj.value)
75
- when Prawn::OutlineRoot, Prawn::OutlineItem
76
- PdfObject(obj.to_hash)
77
- else
78
- raise Prawn::Errors::FailedObjectConversion,
79
- "This object cannot be serialized to PDF"
80
- end
81
- end
82
-
83
- end