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,46 +0,0 @@
1
- # encoding: ASCII-8BIT
2
-
3
- # jpg.rb : Extracts the data from a JPG that is needed for embedding
4
- #
5
- # Copyright April 2008, James Healy. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
-
9
- require 'stringio'
10
-
11
- module Prawn
12
- module Images
13
- # A convenience class that wraps the logic for extracting the parts
14
- # of a JPG image that we need to embed them in a PDF
15
- #
16
- class JPG
17
- attr_reader :width, :height, :bits, :channels
18
- attr_accessor :scaled_width, :scaled_height
19
-
20
- JPEG_SOF_BLOCKS = %W(\xc0 \xc1 \xc2 \xc3 \xc5 \xc6 \xc7 \xc9 \xca \xcb \xcd \xce \xcf)
21
- JPEG_APP_BLOCKS = %W(\xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef)
22
-
23
- # Process a new JPG image
24
- #
25
- # <tt>:data</tt>:: A binary string of JPEG data
26
- #
27
- def initialize(data)
28
- data = StringIO.new(data.dup)
29
-
30
- c_marker = "\xff" # Section marker.
31
- data.read(2) # Skip the first two bytes of JPEG identifier.
32
- loop do
33
- marker, code, length = data.read(4).unpack('aan')
34
- raise "JPEG marker not found!" if marker != c_marker
35
-
36
- if JPEG_SOF_BLOCKS.include?(code)
37
- @bits, @height, @width, @channels = data.read(6).unpack("CnnC")
38
- break
39
- end
40
-
41
- buffer = data.read(length - 2)
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,219 +0,0 @@
1
- # encoding: ASCII-8BIT
2
-
3
- # png.rb : Extracts the data from a PNG that is needed for embedding
4
- #
5
- # Based on some similar code in PDF::Writer by Austin Ziegler
6
- #
7
- # Copyright April 2008, James Healy. All Rights Reserved.
8
- #
9
- # This is free software. Please see the LICENSE and COPYING files for details.
10
-
11
- require 'stringio'
12
- require 'enumerator'
13
-
14
- module Prawn
15
- module Images
16
- # A convenience class that wraps the logic for extracting the parts
17
- # of a PNG image that we need to embed them in a PDF
18
- #
19
- class PNG
20
- attr_reader :palette, :img_data, :transparency
21
- attr_reader :width, :height, :bits
22
- attr_reader :color_type, :compression_method, :filter_method
23
- attr_reader :interlace_method, :alpha_channel
24
- attr_accessor :scaled_width, :scaled_height
25
-
26
- # Process a new PNG image
27
- #
28
- # <tt>data</tt>:: A binary string of PNG data
29
- #
30
- def initialize(data)
31
- data = StringIO.new(data.dup)
32
-
33
- data.read(8) # Skip the default header
34
-
35
- @palette = ""
36
- @img_data = ""
37
- @transparency = {}
38
-
39
- loop do
40
- chunk_size = data.read(4).unpack("N")[0]
41
- section = data.read(4)
42
- case section
43
- when 'IHDR'
44
- # we can grab other interesting values from here (like width,
45
- # height, etc)
46
- values = data.read(chunk_size).unpack("NNCCCCC")
47
-
48
- @width = values[0]
49
- @height = values[1]
50
- @bits = values[2]
51
- @color_type = values[3]
52
- @compression_method = values[4]
53
- @filter_method = values[5]
54
- @interlace_method = values[6]
55
- when 'PLTE'
56
- @palette << data.read(chunk_size)
57
- when 'IDAT'
58
- @img_data << data.read(chunk_size)
59
- when 'tRNS'
60
- # This chunk can only occur once and it must occur after the
61
- # PLTE chunk and before the IDAT chunk
62
- @transparency = {}
63
- case @color_type
64
- when 3
65
- # Indexed colour, RGB. Each byte in this chunk is an alpha for
66
- # the palette index in the PLTE ("palette") chunk up until the
67
- # last non-opaque entry. Set up an array, stretching over all
68
- # palette entries which will be 0 (opaque) or 1 (transparent).
69
- @transparency[:indexed] = data.read(chunk_size).unpack("C*")
70
- short = 255 - @transparency[:indexed].size
71
- @transparency[:indexed] += ([255] * short) if short > 0
72
- when 0
73
- # Greyscale. Corresponding to entries in the PLTE chunk.
74
- # Grey is two bytes, range 0 .. (2 ^ bit-depth) - 1
75
- grayval = data.read(chunk_size).unpack("n").first
76
- @transparency[:grayscale] = grayval
77
- when 2
78
- # True colour with proper alpha channel.
79
- @transparency[:rgb] = data.read(chunk_size).unpack("nnn")
80
- end
81
- when 'IEND'
82
- # we've got everything we need, exit the loop
83
- break
84
- else
85
- # unknown (or un-important) section, skip over it
86
- data.seek(data.pos + chunk_size)
87
- end
88
-
89
- data.read(4) # Skip the CRC
90
- end
91
- end
92
-
93
- # number of color components to each pixel
94
- #
95
- def colors
96
- case self.color_type
97
- when 0, 3, 4
98
- return 1
99
- when 2, 6
100
- return 3
101
- end
102
- end
103
-
104
- # number of bits used per pixel
105
- #
106
- def pixel_bitlength
107
- if alpha_channel?
108
- self.bits * (self.colors + 1)
109
- else
110
- self.bits * self.colors
111
- end
112
- end
113
-
114
- # split the alpha channel data from the raw image data in images
115
- # where it's required.
116
- #
117
- def split_alpha_channel!
118
- unfilter_image_data if alpha_channel?
119
- end
120
-
121
- private
122
-
123
- def alpha_channel?
124
- @color_type == 4 || @color_type == 6
125
- end
126
-
127
- def unfilter_image_data
128
- data = Zlib::Inflate.inflate(@img_data).unpack 'C*'
129
- @img_data = ""
130
- @alpha_channel = ""
131
-
132
- pixel_bytes = pixel_bitlength / 8
133
- scanline_length = pixel_bytes * self.width + 1
134
- row = 0
135
- pixels = []
136
- paeth, pa, pb, pc = nil
137
- until data.empty? do
138
- row_data = data.slice! 0, scanline_length
139
- filter = row_data.shift
140
- case filter
141
- when 0 # None
142
- when 1 # Sub
143
- row_data.each_with_index do |byte, index|
144
- left = index < pixel_bytes ? 0 : row_data[index - pixel_bytes]
145
- row_data[index] = (byte + left) % 256
146
- #p [byte, left, row_data[index]]
147
- end
148
- when 2 # Up
149
- row_data.each_with_index do |byte, index|
150
- col = index / pixel_bytes
151
- upper = row == 0 ? 0 : pixels[row-1][col][index % pixel_bytes]
152
- row_data[index] = (upper + byte) % 256
153
- end
154
- when 3 # Average
155
- row_data.each_with_index do |byte, index|
156
- col = index / pixel_bytes
157
- upper = row == 0 ? 0 : pixels[row-1][col][index % pixel_bytes]
158
- left = index < pixel_bytes ? 0 : row_data[index - pixel_bytes]
159
-
160
- row_data[index] = (byte + ((left + upper)/2).floor) % 256
161
- end
162
- when 4 # Paeth
163
- left = upper = upper_left = nil
164
- row_data.each_with_index do |byte, index|
165
- col = index / pixel_bytes
166
-
167
- left = index < pixel_bytes ? 0 : row_data[index - pixel_bytes]
168
- if row.zero?
169
- upper = upper_left = 0
170
- else
171
- upper = pixels[row-1][col][index % pixel_bytes]
172
- upper_left = col.zero? ? 0 :
173
- pixels[row-1][col-1][index % pixel_bytes]
174
- end
175
-
176
- p = left + upper - upper_left
177
- pa = (p - left).abs
178
- pb = (p - upper).abs
179
- pc = (p - upper_left).abs
180
-
181
- paeth = if pa <= pb && pa <= pc
182
- left
183
- elsif pb <= pc
184
- upper
185
- else
186
- upper_left
187
- end
188
-
189
- row_data[index] = (byte + paeth) % 256
190
- end
191
- else
192
- raise ArgumentError, "Invalid filter algorithm #{filter}"
193
- end
194
-
195
- s = []
196
- row_data.each_slice pixel_bytes do |slice|
197
- s << slice
198
- end
199
- pixels << s
200
- row += 1
201
- end
202
-
203
- # convert the pixel data to seperate strings for colours and alpha
204
- color_byte_size = self.colors * self.bits / 8
205
- alpha_byte_size = self.bits / 8
206
- pixels.each do |this_row|
207
- this_row.each do |pixel|
208
- @img_data << pixel[0, color_byte_size].pack("C*")
209
- @alpha_channel << pixel[color_byte_size, alpha_byte_size].pack("C*")
210
- end
211
- end
212
-
213
- # compress the data
214
- @img_data = Zlib::Deflate.deflate(@img_data)
215
- @alpha_channel = Zlib::Deflate.deflate(@alpha_channel)
216
- end
217
- end
218
- end
219
- end
@@ -1,14 +0,0 @@
1
- # encoding: utf-8
2
- module Prawn
3
- # This is used to differentiate strings that must be encoded as
4
- # a *literal* string, versus those that can be encoded in
5
- # the PDF hexadecimal format.
6
- #
7
- # Some features of the PDF format appear to require that literal
8
- # strings be used. One such feature is the /Dest key of a link
9
- # annotation; if a hex encoded string is used there, the links
10
- # do not work (as tested in Mac OS X Preview, and Adobe Acrobat
11
- # Reader).
12
- class LiteralString < String #:nodoc:
13
- end
14
- end
@@ -1,46 +0,0 @@
1
- # encoding: utf-8
2
- # measurement_extensions.rb: Core extensions for Prawn::Measurements
3
- #
4
- # Copyright December 2008, Florian Witteler. All Rights Reserved.
5
- #
6
- # This is free software. Please see the LICENSE and COPYING files for details.
7
-
8
- require 'prawn/measurements'
9
-
10
- class Numeric
11
- include Prawn::Measurements
12
- # prawns' basic unit is PostScript-Point
13
- # 72 points per inch
14
-
15
- def mm
16
- return mm2pt(self)
17
- end
18
-
19
- def cm
20
- return cm2pt(self)
21
- end
22
-
23
- def dm
24
- return dm2pt(self)
25
- end
26
-
27
- def m
28
- return m2pt(self)
29
- end
30
-
31
- def in
32
- return in2pt(self)
33
- end
34
-
35
- def yd
36
- return yd2pt(self)
37
- end
38
-
39
- def ft
40
- return ft2pt(self)
41
- end
42
-
43
- def pt
44
- return self
45
- end
46
- end
@@ -1,71 +0,0 @@
1
- # encoding: utf-8
2
- # measurements.rb: Conversions from other measurements to PDF points
3
- #
4
- # Copyright December 2008, Florian Witteler. All Rights Reserved.
5
- #
6
- module Prawn
7
- module Measurements
8
-
9
- # ============================================================================
10
- #metric conversions
11
- def cm2mm(cm)
12
- return cm*10
13
- end
14
-
15
- def dm2mm(dm)
16
- return dm*100
17
- end
18
-
19
- def m2mm(m)
20
- return m*1000
21
- end
22
-
23
- # ============================================================================
24
- # imperial conversions
25
- # from http://en.wikipedia.org/wiki/Imperial_units
26
-
27
- def ft2in(ft)
28
- return ft * 12
29
- end
30
-
31
- def yd2in(yd)
32
- return yd*36
33
- end
34
-
35
-
36
- # ============================================================================
37
- # PostscriptPoint-converisons
38
-
39
- def in2pt(inch)
40
- return inch * 72
41
- end
42
-
43
- def ft2pt(ft)
44
- return in2pt(ft2in(ft))
45
- end
46
-
47
- def yd2pt(yd)
48
- return in2pt(yd2in(yd))
49
- end
50
-
51
- def mm2pt(mm)
52
- return mm*(72 / 25.4)
53
- end
54
-
55
- def cm2pt(cm)
56
- return mm2pt(cm2mm(cm))
57
- end
58
-
59
- def dm2pt(dm)
60
- return mm2pt(dm2mm(dm))
61
- end
62
-
63
- def m2pt(m)
64
- return mm2pt(m2mm(m))
65
- end
66
-
67
- def pt2mm(pt)
68
- return pt * 1 / mm2pt(1)# (25.4 / 72)
69
- end
70
- end
71
- end
@@ -1,166 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # name_tree.rb : Implements NameTree for PDF
4
- #
5
- # Copyright November 2008, Jamis Buck. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
- #
9
- require 'prawn/literal_string'
10
- require 'prawn/reference'
11
-
12
- module Prawn
13
- module NameTree #:nodoc:
14
- class Node #:nodoc:
15
- attr_reader :children
16
- attr_reader :limit
17
- attr_reader :document
18
- attr_accessor :parent
19
- attr_accessor :ref
20
-
21
- def initialize(document, limit, parent=nil)
22
- @document = document
23
- @children = []
24
- @limit = limit
25
- @parent = parent
26
- @ref = nil
27
- end
28
-
29
- def empty?
30
- children.empty?
31
- end
32
-
33
- def size
34
- leaf? ? children.size : children.inject(0) { |sum, child| sum + child.size }
35
- end
36
-
37
- def leaf?
38
- children.empty? || children.first.is_a?(Value)
39
- end
40
-
41
- def add(name, value)
42
- self << Value.new(name, value)
43
- end
44
-
45
- def to_hash
46
- hash = {}
47
-
48
- hash[:Limits] = [least, greatest] if parent
49
- if leaf?
50
- hash[:Names] = children if leaf?
51
- else
52
- hash[:Kids] = children.map { |child| child.ref }
53
- end
54
-
55
- return hash
56
- end
57
-
58
- def least
59
- if leaf?
60
- children.first.name
61
- else
62
- children.first.least
63
- end
64
- end
65
-
66
- def greatest
67
- if leaf?
68
- children.last.name
69
- else
70
- children.last.greatest
71
- end
72
- end
73
-
74
- def <<(value)
75
- if children.empty?
76
- children << value
77
- elsif leaf?
78
- children.insert(insertion_point(value), value)
79
- split! if children.length > limit
80
- else
81
- fit = children.detect { |child| child >= value }
82
- fit = children.last unless fit
83
- fit << value
84
- end
85
-
86
- value
87
- end
88
-
89
- def >=(value)
90
- children.empty? || children.last >= value
91
- end
92
-
93
- def split!
94
- if parent
95
- parent.split(self)
96
- else
97
- left, right = new_node(self), new_node(self)
98
- split_children(self, left, right)
99
- children.replace([left, right])
100
- end
101
- end
102
-
103
- protected
104
-
105
- def split(node)
106
- new_child = new_node(self)
107
- split_children(node, node, new_child)
108
- index = children.index(node)
109
- children.insert(index+1, new_child)
110
- split! if children.length > limit
111
- end
112
-
113
- private
114
-
115
- def new_node(parent=nil)
116
- node = Node.new(document, limit, parent)
117
- node.ref = document.ref!(node)
118
- return node
119
- end
120
-
121
- def split_children(node, left, right)
122
- half = (node.limit+1)/2
123
-
124
- left_children, right_children = node.children[0...half], node.children[half..-1]
125
-
126
- left.children.replace(left_children)
127
- right.children.replace(right_children)
128
-
129
- unless node.leaf?
130
- left_children.each { |child| child.parent = left }
131
- right_children.each { |child| child.parent = right }
132
- end
133
- end
134
-
135
- def insertion_point(value)
136
- children.each_with_index do |child, index|
137
- return index if child >= value
138
- end
139
- return children.length
140
- end
141
- end
142
-
143
- class Value #:nodoc:
144
- include Comparable
145
-
146
- attr_reader :name
147
- attr_reader :value
148
-
149
- def initialize(name, value)
150
- @name, @value = Prawn::LiteralString.new(name), value
151
- end
152
-
153
- def <=>(leaf)
154
- name <=> leaf.name
155
- end
156
-
157
- def inspect
158
- "#<Value: #{name.inspect} : #{value.inspect}>"
159
- end
160
-
161
- def to_s
162
- "#{name} : #{value}"
163
- end
164
- end
165
- end
166
- end