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,79 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
4
-
5
- describe "the image() function" do
6
-
7
- before(:each) do
8
- @filename = "#{Prawn::BASEDIR}/data/images/pigs.jpg"
9
- create_pdf
10
- end
11
-
12
- it "should only embed an image once, even if it's added multiple times" do
13
- @pdf.image @filename, :at => [100,100]
14
- @pdf.image @filename, :at => [300,300]
15
-
16
- output = @pdf.render
17
- images = PDF::Inspector::XObject.analyze(output)
18
- # there should be 2 images in the page resources
19
- images.page_xobjects.first.size.should == 2
20
- # but only 1 image xobject
21
- output.scan(/\/Type \/XObject/).size.should == 1
22
- end
23
-
24
- it "should return the image info object" do
25
- info = @pdf.image(@filename)
26
-
27
- info.should.be.kind_of(Prawn::Images::JPG)
28
-
29
- info.height.should == 453
30
- end
31
-
32
- it "should accept IO objects" do
33
- file = File.open(@filename, "rb")
34
- info = @pdf.image(file)
35
-
36
- info.height.should == 453
37
- end
38
-
39
- it "should raise an UnsupportedImageType if passed a BMP" do
40
- filename = "#{Prawn::BASEDIR}/data/images/tru256.bmp"
41
- lambda { @pdf.image filename, :at => [100,100] }.should.raise(Prawn::Errors::UnsupportedImageType)
42
- end
43
-
44
- it "should raise an UnsupportedImageType if passed an interlaced PNG" do
45
- filename = "#{Prawn::BASEDIR}/data/images/dice_interlaced.png"
46
- lambda { @pdf.image filename, :at => [100,100] }.should.raise(Prawn::Errors::UnsupportedImageType)
47
- end
48
-
49
- describe ":fit option" do
50
- it "should fit inside the defined constraints" do
51
- info = @pdf.image @filename, :fit => [100,400]
52
- info.scaled_width.should <= 100
53
- info.scaled_height.should <= 400
54
-
55
- info = @pdf.image @filename, :fit => [400,100]
56
- info.scaled_width.should <= 400
57
- info.scaled_height.should <= 100
58
-
59
- info = @pdf.image @filename, :fit => [604,453]
60
- info.scaled_width.should == 604
61
- info.scaled_height.should == 453
62
- end
63
- it "should move text position" do
64
- @y = @pdf.y
65
- info = @pdf.image @filename, :fit => [100,400]
66
- @pdf.y.should < @y
67
- end
68
- end
69
-
70
- describe ":at option" do
71
- it "should not move text position" do
72
- @y = @pdf.y
73
- info = @pdf.image @filename, :at => [100,400]
74
- @pdf.y.should == @y
75
- end
76
- end
77
-
78
- end
79
-
@@ -1,25 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # Spec'ing the PNG class. Not complete yet - still needs to check the
4
- # contents of palette and transparency to ensure they're correct.
5
- # Need to find files that have these sections first.
6
-
7
- require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
8
-
9
- describe "When reading a JPEG file" do
10
-
11
- before(:each) do
12
- @filename = "#{Prawn::BASEDIR}/data/images/pigs.jpg"
13
- @img_data = File.open(@filename, "rb") { |f| f.read }
14
- end
15
-
16
- it "should read the basic attributes correctly" do
17
- jpg = Prawn::Images::JPG.new(@img_data)
18
-
19
- jpg.width.should == 604
20
- jpg.height.should == 453
21
- jpg.bits.should == 8
22
- jpg.channels.should == 3
23
- end
24
- end
25
-
@@ -1,23 +0,0 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
2
- require "prawn/measurement_extensions"
3
-
4
- describe "Measurement units" do
5
-
6
- it "should convert units to PostScriptPoints" do
7
- 1.mm.should.be.close(2.834645669, 0.000000001)
8
- 1.mm.should == (72 / 25.4)
9
- 2.mm.should == (2 * 72 / 25.4)
10
- 3.mm.should == 3 * 72 / 25.4
11
- -3.mm.should == -3 * 72/25.4
12
- 1.cm.should == 10 * 72 / 25.4
13
- 1.dm.should == 100 * 72 / 25.4
14
- 1.m.should == 1000 * 72 / 25.4
15
-
16
- 1.in.should == 72
17
- 1.ft.should == 72 * 12
18
- 1.yd.should == 72 * 12 * 3
19
- 1.pt.should == 1
20
- end
21
-
22
- end
23
-
@@ -1,112 +0,0 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
2
-
3
- def tree_dump(tree)
4
- if tree.is_a?(Prawn::NameTree::Node)
5
- "[" + tree.children.map { |child| tree_dump(child) }.join(",") + "]"
6
- else
7
- "#{tree.name}=#{tree.value}"
8
- end
9
- end
10
-
11
- def tree_add(tree, *args)
12
- args.each do |(name, value)|
13
- tree.add(name, value)
14
- end
15
- end
16
-
17
- def tree_value(name, value)
18
- Prawn::NameTree::Value.new(name, value)
19
- end
20
-
21
- class RefExposingDocument < Prawn::Document
22
- def object_store
23
- @store
24
- end
25
- end
26
-
27
- describe "Name Tree" do
28
- before(:each) { create_pdf(RefExposingDocument) }
29
-
30
- it "should have no children when first initialized" do
31
- node = Prawn::NameTree::Node.new(@pdf, 3)
32
- node.children.length.should == 0
33
- end
34
-
35
- it "should have no subtrees while child limit is not reached" do
36
- node = Prawn::NameTree::Node.new(@pdf, 3)
37
- tree_add(node, ["one", 1], ["two", 2], ["three", 3])
38
- tree_dump(node).should == "[one=1,three=3,two=2]"
39
- end
40
-
41
- it "should split into subtrees when limit is exceeded" do
42
- node = Prawn::NameTree::Node.new(@pdf, 3)
43
- tree_add(node, ["one", 1], ["two", 2], ["three", 3], ["four", 4])
44
- tree_dump(node).should == "[[four=4,one=1],[three=3,two=2]]"
45
- end
46
-
47
- it "should create a two new references when root is split" do
48
- ref_count = @pdf.object_store.length
49
- node = Prawn::NameTree::Node.new(@pdf, 3)
50
- tree_add(node, ["one", 1], ["two", 2], ["three", 3], ["four", 4])
51
- @pdf.object_store.length.should.equal ref_count+2
52
- end
53
-
54
- it "should create a one new reference when subtree is split" do
55
- node = Prawn::NameTree::Node.new(@pdf, 3)
56
- tree_add(node, ["one", 1], ["two", 2], ["three", 3], ["four", 4])
57
-
58
- ref_count = @pdf.object_store.length # save when root is split
59
- tree_add(node, ["five", 5], ["six", 6], ["seven", 7])
60
- tree_dump(node).should == "[[five=5,four=4,one=1],[seven=7,six=6],[three=3,two=2]]"
61
- @pdf.object_store.length.should.equal ref_count+1
62
- end
63
-
64
- it "should keep tree balanced when subtree split cascades to root" do
65
- node = Prawn::NameTree::Node.new(@pdf, 3)
66
- tree_add(node, ["one", 1], ["two", 2], ["three", 3], ["four", 4])
67
- tree_add(node, ["five", 5], ["six", 6], ["seven", 7], ["eight", 8])
68
- tree_dump(node).should == "[[[eight=8,five=5],[four=4,one=1]],[[seven=7,six=6],[three=3,two=2]]]"
69
- end
70
-
71
- it "should maintain order of already properly ordered nodes" do
72
- node = Prawn::NameTree::Node.new(@pdf, 3)
73
- tree_add(node, ["eight", 8], ["five", 5], ["four", 4], ["one", 1])
74
- tree_add(node, ['seven', 7], ['six', 6], ['three', 3], ['two', 2])
75
- tree_dump(node).should == "[[[eight=8,five=5],[four=4,one=1]],[[seven=7,six=6],[three=3,two=2]]]"
76
- end
77
-
78
- it "should emit only :Names key with to_hash if root is only node" do
79
- node = Prawn::NameTree::Node.new(@pdf, 3)
80
- tree_add(node, ["one", 1], ["two", 2], ["three", 3])
81
- node.to_hash.should.equal(
82
- { :Names => [tree_value("one", 1), tree_value("three", 3), tree_value("two", 2)] }
83
- )
84
- end
85
-
86
- it "should emit only :Kids key with to_hash if root has children" do
87
- node = Prawn::NameTree::Node.new(@pdf, 3)
88
- tree_add(node, ["one", 1], ["two", 2], ["three", 3], ["four", 4])
89
- node.to_hash.should.equal({ :Kids => node.children.map { |child| child.ref } })
90
- end
91
-
92
- it "should emit :Limits and :Names keys with to_hash for leaf node" do
93
- node = Prawn::NameTree::Node.new(@pdf, 3)
94
- tree_add(node, ["one", 1], ["two", 2], ["three", 3], ["four", 4])
95
- node.children.first.to_hash.should.equal(
96
- { :Limits => %w(four one),
97
- :Names => [tree_value("four", 4), tree_value("one", 1)] }
98
- )
99
- end
100
-
101
- it "should emit :Limits and :Kids keys with to_hash for inner node" do
102
- node = Prawn::NameTree::Node.new(@pdf, 3)
103
- tree_add(node, ["one", 1], ["two", 2], ["three", 3], ["four", 4])
104
- tree_add(node, ["five", 5], ["six", 6], ["seven", 7], ["eight", 8])
105
- tree_add(node, ["nine", 9], ["ten", 10], ["eleven", 11], ["twelve", 12])
106
- tree_add(node, ["thirteen", 13], ["fourteen", 14], ["fifteen", 15], ["sixteen", 16])
107
- node.children.first.to_hash.should.equal(
108
- { :Limits => %w(eight one),
109
- :Kids => node.children.first.children.map { |child| child.ref } }
110
- )
111
- end
112
- end
@@ -1,75 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
4
-
5
- describe "Prawn::ObjectStore" do
6
- before(:each) do
7
- @store = Prawn::ObjectStore.new
8
- end
9
-
10
- it "should create required roots by default, including info passed to new" do
11
- store = Prawn::ObjectStore.new(:Test => 3)
12
- store.size.should == 3 # 3 default roots
13
- store.info.data[:Test].should == 3
14
- store.pages.data[:Count].should == 0
15
- store.root.data[:Pages].should == store.pages
16
- end
17
-
18
- it "should add to its objects when ref() is called" do
19
- count = @store.size
20
- @store.ref("blah")
21
- @store.size.should == count + 1
22
- end
23
-
24
- it "should accept push with a Prawn::Reference" do
25
- r = Prawn::Reference(123, "blah")
26
- @store.push(r)
27
- @store[r.identifier].should == r
28
- end
29
-
30
- it "should accept arbitrary data and use it to create a Prawn::Reference" do
31
- @store.push(123, "blahblah")
32
- @store[123].data.should == "blahblah"
33
- end
34
-
35
- it "should be Enumerable, yielding in order of submission" do
36
- # higher IDs to bypass the default roots
37
- [10, 11, 12].each do |id|
38
- @store.push(id, "some data #{id}")
39
- end
40
- @store.map{|ref| ref.identifier}[-3..-1].should == [10, 11, 12]
41
- end
42
- end
43
-
44
- describe "Prawn::ObjectStore#compact" do
45
- it "should do nothing to an ObjectStore with all live refs" do
46
- store = Prawn::ObjectStore.new
47
- store.info.data[:Blah] = store.ref(:some => "structure")
48
- old_size = store.size
49
- store.compact
50
-
51
- store.size.should == old_size
52
- end
53
-
54
- it "should remove dead objects, renumbering live objects from 1" do
55
- store = Prawn::ObjectStore.new
56
- store.ref(:some => "structure")
57
- old_size = store.size
58
- store.compact
59
-
60
- store.size.should.be < old_size
61
- store.map{ |o| o.identifier }.should == (1..store.size).to_a
62
- end
63
-
64
- it "should detect and remove dead objects that were once live" do
65
- store = Prawn::ObjectStore.new
66
- store.info.data[:Blah] = store.ref(:some => "structure")
67
- store.info.data[:Blah] = :overwritten
68
- old_size = store.size
69
- store.compact
70
-
71
- store.size.should.be < old_size
72
- store.map{ |o| o.identifier }.should == (1..store.size).to_a
73
- end
74
- end
75
-
@@ -1,229 +0,0 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
2
-
3
- describe "Outline" do
4
- before(:each) do
5
- @pdf = Prawn::Document.new() do
6
- text "Page 1. This is the first Chapter. "
7
- start_new_page
8
- text "Page 2. More in the first Chapter. "
9
- start_new_page
10
- define_outline do
11
- section 'Chapter 1', :page => 1, :closed => true do
12
- page 1, :title => 'Page 1'
13
- page 2, :title => 'Page 2'
14
- end
15
- end
16
- end
17
- end
18
- describe "#generate_outline" do
19
- before(:each) do
20
- render_and_find_objects
21
- end
22
-
23
- it "should create a root outline dictionary item" do
24
- assert_not_nil @outline_root
25
- end
26
-
27
- it "should set the first and last top items of the root outline dictionary item" do
28
- referenced_object(@outline_root[:First]).should == @section_1
29
- referenced_object(@outline_root[:Last]).should == @section_1
30
- end
31
-
32
- describe "#create_outline_item" do
33
- it "should create outline items for each section and page" do
34
- [@section_1, @page_1, @page_2].each {|item| assert_not_nil item}
35
- end
36
- end
37
-
38
- describe "#set_relations, #set_variables_for_block, and #reset_parent" do
39
- it "should link sibling items" do
40
- referenced_object(@page_1[:Next]).should == @page_2
41
- referenced_object(@page_2[:Prev]).should == @page_1
42
- end
43
-
44
- it "should link child items to parent item" do
45
- [@page_1, @page_2].each {|page| referenced_object(page[:Parent]).should == @section_1 }
46
- end
47
-
48
- it "should set the first and last child items for parent item" do
49
- referenced_object(@section_1[:First]).should == @page_1
50
- referenced_object(@section_1[:Last]).should == @page_2
51
- end
52
- end
53
-
54
- describe "#increase_count" do
55
-
56
- it "should add the count of all descendant items" do
57
- @outline_root[:Count].should == 3
58
- @section_1[:Count].should.abs == 2
59
- @page_1[:Count].should == 0
60
- @page_2[:Count].should == 0
61
- end
62
-
63
- end
64
-
65
- describe "closed option" do
66
-
67
- it "should set the item's integer count to negative" do
68
- @section_1[:Count].should == -2
69
- end
70
-
71
- end
72
-
73
- end
74
-
75
- describe "#outline.add_section" do
76
- before(:each) do
77
- @pdf.start_new_page
78
- @pdf.text "Page 3. An added section "
79
- @pdf.outline.add_section do
80
- section 'Added Section', :page => 3 do
81
- page 3, :title => 'Page 3'
82
- end
83
- end
84
- render_and_find_objects
85
- end
86
-
87
- it "should add new outline items to document" do
88
- [@section_2, @page_3].each { |item| assert_not_nil item}
89
- end
90
-
91
- it "should reset the last items for root outline dictionary" do
92
- referenced_object(@outline_root[:First]).should == @section_1
93
- referenced_object(@outline_root[:Last]).should == @section_2
94
- end
95
-
96
- it "should reset the next relation for the previous last top level item" do
97
- referenced_object(@section_1[:Next]).should == @section_2
98
- end
99
-
100
- it "should set the previous relation of the addded to section" do
101
- referenced_object(@section_2[:Prev]).should == @section_1
102
- end
103
-
104
- it "should increase the count of root outline dictionary" do
105
- @outline_root[:Count].should == 5
106
- end
107
-
108
- end
109
-
110
- describe "#outline.insert_section_after" do
111
- describe "inserting in the middle of another section" do
112
- before(:each) do
113
- @pdf.go_to_page 1
114
- @pdf.start_new_page
115
- @pdf.text "Inserted Page"
116
- @pdf.outline.insert_section_after 'Page 1' do
117
- page page_number, :title => "Inserted Page"
118
- end
119
- render_and_find_objects
120
- end
121
-
122
- it "should insert new outline items to document" do
123
- assert_not_nil @inserted_page
124
- end
125
-
126
- it "should adjust the count of all ancestors" do
127
- @outline_root[:Count].should == 4
128
- @section_1[:Count].should.abs == 3
129
- end
130
-
131
- describe "#adjust_relations" do
132
-
133
- it "should reset the sibling relations of adjoining items to inserted item" do
134
- referenced_object(@page_1[:Next]).should == @inserted_page
135
- referenced_object(@page_2[:Prev]).should == @inserted_page
136
- end
137
-
138
- it "should set the sibling relation of added item to adjoining items" do
139
- referenced_object(@inserted_page[:Next]).should == @page_2
140
- referenced_object(@inserted_page[:Prev]).should == @page_1
141
- end
142
-
143
- it "should not affect the first and last relations of parent item" do
144
- referenced_object(@section_1[:First]).should == @page_1
145
- referenced_object(@section_1[:Last]).should == @page_2
146
- end
147
-
148
- end
149
-
150
- end
151
-
152
- describe "inserting at the end of another section" do
153
- before(:each) do
154
- @pdf.go_to_page 2
155
- @pdf.start_new_page
156
- @pdf.text "Inserted Page"
157
- @pdf.outline.insert_section_after 'Page 2' do
158
- page page_number, :title => "Inserted Page"
159
- end
160
- render_and_find_objects
161
- end
162
-
163
- describe "#adjust_relations" do
164
-
165
- it "should reset the sibling relations of adjoining item to inserted item" do
166
- referenced_object(@page_2[:Next]).should == @inserted_page
167
- end
168
-
169
- it "should set the sibling relation of added item to adjoining items" do
170
- assert_nil referenced_object(@inserted_page[:Next])
171
- referenced_object(@inserted_page[:Prev]).should == @page_2
172
- end
173
-
174
- it "should adjust the last relation of parent item" do
175
- referenced_object(@section_1[:Last]).should == @inserted_page
176
- end
177
-
178
- end
179
- end
180
-
181
- it "should require an existing title" do
182
- assert_raise Prawn::Errors::UnknownOutlineTitle do
183
- @pdf.go_to_page 1
184
- @pdf.start_new_page
185
- @pdf.text "Inserted Page"
186
- @pdf.outline.insert_section_after 'Wrong page' do
187
- page page_number, :title => "Inserted Page"
188
- end
189
- render_and_find_objects
190
- end
191
- end
192
-
193
- end
194
-
195
- describe "#page" do
196
- it "should require a title option to be set" do
197
- assert_raise Prawn::Errors::RequiredOption do
198
- @pdf = Prawn::Document.new() do
199
- text "Page 1. This is the first Chapter. "
200
- define_outline do
201
- page 1, :title => nil
202
- end
203
- end
204
- end
205
- end
206
- end
207
- end
208
-
209
- def render_and_find_objects
210
- output = StringIO.new(@pdf.render, 'r+')
211
- @hash = PDF::Hash.new(output)
212
- @outline_root = @hash.values.find {|obj| obj.is_a?(Hash) && obj[:Type] == :Outlines}
213
- @pages = @hash.values.find {|obj| obj.is_a?(Hash) && obj[:Type] == :Pages}[:Kids]
214
- @section_1 = find_by_title('Chapter 1')
215
- @page_1 = find_by_title('Page 1')
216
- @page_2 = find_by_title('Page 2')
217
- @section_2 = find_by_title('Added Section')
218
- @page_3 = find_by_title('Page 3')
219
- @inserted_page = find_by_title('Inserted Page')
220
- end
221
-
222
- def find_by_title(title)
223
- @hash.values.find {|obj| obj.is_a?(Hash) && obj[:Title] == title}
224
- end
225
-
226
- def referenced_object(reference)
227
- @hash[reference]
228
- end
229
-