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,63 +0,0 @@
1
- require 'set'
2
- require 'ttfunk/subset/base'
3
-
4
- module TTFunk
5
- module Subset
6
- class Unicode8Bit < Base
7
- def initialize(original)
8
- super
9
- @subset = { 0x20 => 0x20 }
10
- @unicodes = { 0x20 => 0x20 }
11
- @next = 0x21 # apparently, PDF's don't like to use chars between 0-31
12
- end
13
-
14
- def unicode?
15
- true
16
- end
17
-
18
- def to_unicode_map
19
- @subset.dup
20
- end
21
-
22
- def use(character)
23
- if !@unicodes.key?(character)
24
- @subset[@next] = character
25
- @unicodes[character] = @next
26
- @next += 1
27
- end
28
- end
29
-
30
- def covers?(character)
31
- @unicodes.key?(character) || @next < 256
32
- end
33
-
34
- def includes?(character)
35
- @unicodes.key?(character)
36
- end
37
-
38
- def from_unicode(character)
39
- @unicodes[character]
40
- end
41
-
42
- protected
43
-
44
- def new_cmap_table(options)
45
- mapping = @subset.inject({}) do |map, (code,unicode)|
46
- map[code] = unicode_cmap[unicode]
47
- map
48
- end
49
-
50
- # since we're mapping a subset of the unicode glyphs into an
51
- # arbitrary 256-character space, the actual encoding we're
52
- # using is irrelevant. We choose MacRoman because it's a 256-character
53
- # encoding that happens to be well-supported in both TTF and
54
- # PDF formats.
55
- TTFunk::Table::Cmap.encode(mapping, :mac_roman)
56
- end
57
-
58
- def original_glyph_ids
59
- ([0] + @unicodes.keys.map { |unicode| unicode_cmap[unicode] }).uniq.sort
60
- end
61
- end
62
- end
63
- end
@@ -1,51 +0,0 @@
1
- require 'set'
2
- require 'ttfunk/subset/base'
3
- require 'ttfunk/encoding/windows_1252'
4
-
5
- module TTFunk
6
- module Subset
7
- class Windows1252 < Base
8
- def initialize(original)
9
- super
10
- @subset = Array.new(256)
11
- end
12
-
13
- def use(character)
14
- @subset[Encoding::Windows1252::FROM_UNICODE[character]] = character
15
- end
16
-
17
- def covers?(character)
18
- Encoding::Windows1252.covers?(character)
19
- end
20
-
21
- def includes?(character)
22
- code = Encoding::Windows1252::FROM_UNICODE[character]
23
- code && @subset[code]
24
- end
25
-
26
- def from_unicode(character)
27
- Encoding::Windows1252::FROM_UNICODE[character]
28
- end
29
-
30
- protected
31
-
32
- def new_cmap_table(options)
33
- mapping = {}
34
- @subset.each_with_index do |unicode, cp1252|
35
- mapping[cp1252] = unicode_cmap[unicode] if cp1252
36
- end
37
-
38
- # yes, I really mean "mac roman". TTF has no cp1252 encoding, and the
39
- # alternative would be to encode it using a format 4 unicode table, which
40
- # is overkill. for our purposes, mac-roman suffices. (If we were building
41
- # a _real_ font, instead of a PDF-embeddable subset, things would probably
42
- # be different.)
43
- TTFunk::Table::Cmap.encode(mapping, :mac_roman)
44
- end
45
-
46
- def original_glyph_ids
47
- ([0] + @subset.map { |unicode| unicode && unicode_cmap[unicode] }).compact.uniq.sort
48
- end
49
- end
50
- end
51
- end
@@ -1,72 +0,0 @@
1
- require 'ttfunk/subset'
2
-
3
- module TTFunk
4
- class SubsetCollection
5
- def initialize(original)
6
- @original = original
7
- @subsets = [Subset.for(@original, :mac_roman)]
8
- end
9
-
10
- def [](subset)
11
- @subsets[subset]
12
- end
13
-
14
- # +characters+ should be an array of UTF-16 characters
15
- def use(characters)
16
- characters.each do |char|
17
- covered = false
18
- @subsets.each_with_index do |subset, i|
19
- if subset.covers?(char)
20
- subset.use(char)
21
- covered = true
22
- break
23
- end
24
- end
25
-
26
- if !covered
27
- @subsets << Subset.for(@original, :unicode_8bit)
28
- @subsets.last.use(char)
29
- end
30
- end
31
- end
32
-
33
- # +characters+ should be an array of UTF-16 characters. Returns
34
- # an array of subset chunks, where each chunk is another array of
35
- # two elements. The first element is the subset number, and the
36
- # second element is the string of characters to render with that
37
- # font subset. The strings will be encoded for their subset font,
38
- # and so may not look (in the raw) like what was passed in, but
39
- # they will render correctly with the indicated subset font.
40
- def encode(characters)
41
- return [] if characters.empty?
42
-
43
- # TODO: probably would be more optimal to nix the #use method,
44
- # and merge it into this one, so it can be done in a single
45
- # pass instead of two passes.
46
- use(characters)
47
-
48
- parts = []
49
- current_subset = 0
50
- current_char = 0
51
- char = characters[current_char]
52
-
53
- loop do
54
- while @subsets[current_subset].includes?(char)
55
- char = @subsets[current_subset].from_unicode(char)
56
-
57
- if parts.empty? || parts.last[0] != current_subset
58
- parts << [current_subset, char.chr]
59
- else
60
- parts.last[1] << char
61
- end
62
-
63
- current_char += 1
64
- return parts if current_char >= characters.length
65
- char = characters[current_char]
66
- end
67
-
68
- current_subset = (current_subset + 1) % @subsets.length
69
- end
70
- end
71
- end
72
- end
@@ -1,46 +0,0 @@
1
- require 'ttfunk/reader'
2
-
3
- module TTFunk
4
- class Table
5
- include Reader
6
-
7
- attr_reader :file
8
- attr_reader :offset
9
- attr_reader :length
10
-
11
- def initialize(file)
12
- @file = file
13
-
14
- info = file.directory_info(tag)
15
-
16
- if info
17
- @offset = info[:offset]
18
- @length = info[:length]
19
-
20
- parse_from(@offset) { parse! }
21
- end
22
- end
23
-
24
- def exists?
25
- !@offset.nil?
26
- end
27
-
28
- def raw
29
- if exists?
30
- parse_from(offset) { io.read(length) }
31
- else
32
- nil
33
- end
34
- end
35
-
36
- def tag
37
- self.class.name.split(/::/).last.downcase
38
- end
39
-
40
- private
41
-
42
- def parse!
43
- # do nothing, by default
44
- end
45
- end
46
- end
@@ -1,34 +0,0 @@
1
- module TTFunk
2
- class Table
3
- class Cmap < Table
4
- attr_reader :version
5
- attr_reader :tables
6
-
7
- def self.encode(charmap, encoding)
8
- result = Cmap::Subtable.encode(charmap, encoding)
9
-
10
- # pack 'version' and 'table-count'
11
- result[:table] = [0, 1, result.delete(:subtable)].pack("nnA*")
12
- return result
13
- end
14
-
15
- def unicode
16
- @unicode ||= @tables.select { |table| table.unicode? }
17
- end
18
-
19
- private
20
-
21
- def parse!
22
- @version, table_count = read(4, "nn")
23
- @tables = []
24
-
25
- table_count.times do
26
- @tables << Cmap::Subtable.new(file, offset)
27
- end
28
- end
29
- end
30
-
31
- end
32
- end
33
-
34
- require 'ttfunk/table/cmap/subtable'
@@ -1,54 +0,0 @@
1
- require 'ttfunk/encoding/mac_roman'
2
- require 'ttfunk/encoding/windows_1252'
3
-
4
- module TTFunk
5
- class Table
6
- class Cmap
7
-
8
- module Format00
9
- attr_reader :language
10
- attr_reader :code_map
11
-
12
- # Expects a hash mapping character codes to glyph ids (where the
13
- # glyph ids are from the original font). Returns a hash including
14
- # a new map (:charmap) that maps the characters in charmap to a
15
- # another hash containing both the old (:old) and new (:new) glyph
16
- # ids. The returned hash also includes a :subtable key, which contains
17
- # the encoded subtable for the given charmap.
18
- def self.encode(charmap)
19
- next_id = 0
20
- glyph_indexes = Array.new(256, 0)
21
- glyph_map = { 0 => 0 }
22
-
23
- new_map = charmap.keys.sort.inject({}) do |map, code|
24
- glyph_map[charmap[code]] ||= next_id += 1
25
- map[code] = { :old => charmap[code], :new => glyph_map[charmap[code]] }
26
- glyph_indexes[code] = glyph_map[charmap[code]]
27
- map
28
- end
29
-
30
- # format, length, language, indices
31
- subtable = [0, 262, 0, *glyph_indexes].pack("nnnC*")
32
-
33
- { :charmap => new_map, :subtable => subtable, :max_glyph_id => next_id+1 }
34
- end
35
-
36
- def [](code)
37
- @code_map[code] || 0
38
- end
39
-
40
- def supported?
41
- true
42
- end
43
-
44
- private
45
-
46
- def parse_cmap!
47
- length, @language = read(4, "nn")
48
- @code_map = read(256, "C*")
49
- end
50
- end
51
-
52
- end
53
- end
54
- end
@@ -1,126 +0,0 @@
1
- module TTFunk
2
- class Table
3
- class Cmap
4
-
5
- module Format04
6
- attr_reader :language
7
- attr_reader :code_map
8
-
9
- # Expects a hash mapping character codes to glyph ids (where the
10
- # glyph ids are from the original font). Returns a hash including
11
- # a new map (:charmap) that maps the characters in charmap to a
12
- # another hash containing both the old (:old) and new (:new) glyph
13
- # ids. The returned hash also includes a :subtable key, which contains
14
- # the encoded subtable for the given charmap.
15
- def self.encode(charmap)
16
- end_codes = []
17
- start_codes = []
18
- next_id = 0
19
- last = difference = nil
20
-
21
- glyph_map = { 0 => 0 }
22
- new_map = charmap.keys.sort.inject({}) do |map, code|
23
- old = charmap[code]
24
- glyph_map[old] ||= next_id += 1
25
- map[code] = { :old => old, :new => glyph_map[old] }
26
-
27
- delta = glyph_map[old] - code
28
- if last.nil? || delta != difference
29
- end_codes << last if last
30
- start_codes << code
31
- difference = delta
32
- end
33
- last = code
34
-
35
- map
36
- end
37
-
38
- end_codes << last if last
39
- end_codes << 0xFFFF
40
- start_codes << 0xFFFF
41
- segcount = start_codes.length
42
-
43
- # build the conversion tables
44
- deltas = []
45
- range_offsets = []
46
- glyph_indices = []
47
-
48
- offset = 0
49
- start_codes.zip(end_codes).each_with_index do |(a, b), segment|
50
- if a == 0xFFFF
51
- deltas << 0
52
- range_offsets << 0
53
- break
54
- end
55
-
56
- start_glyph_id = new_map[a][:new]
57
- if a - start_glyph_id >= 0x8000
58
- deltas << 0
59
- range_offsets << 2 * (glyph_indices.length + segcount - segment)
60
- a.upto(b) { |code| glyph_indices << new_map[code][:new] }
61
- else
62
- deltas << -a + start_glyph_id
63
- range_offsets << 0
64
- end
65
- offset += 2
66
- end
67
-
68
- # format, length, language
69
- subtable = [4, 16 + 8 * segcount + 2 * glyph_indices.length, 0].pack("nnn")
70
-
71
- search_range = 2 * 2 ** (Math.log(segcount) / Math.log(2)).to_i
72
- entry_selector = (Math.log(search_range / 2) / Math.log(2)).to_i
73
- range_shift = (2 * segcount) - search_range
74
- subtable << [segcount * 2, search_range, entry_selector, range_shift].pack("nnnn")
75
-
76
- subtable << end_codes.pack("n*") << "\0\0" << start_codes.pack("n*")
77
- subtable << deltas.pack("n*") << range_offsets.pack("n*") << glyph_indices.pack("n*")
78
-
79
- { :charmap => new_map, :subtable => subtable, :max_glyph_id => next_id+1 }
80
- end
81
-
82
- def [](code)
83
- @code_map[code] || 0
84
- end
85
-
86
- def supported?
87
- true
88
- end
89
-
90
- private
91
-
92
- def parse_cmap!
93
- length, @language, segcount_x2 = read(6, "nnn")
94
- segcount = segcount_x2 / 2
95
-
96
- io.read(6) # skip searching hints
97
-
98
- end_code = read(segcount_x2, "n*")
99
- io.read(2) # skip reserved value
100
- start_code = read(segcount_x2, "n*")
101
- id_delta = read_signed(segcount)
102
- id_range_offset = read(segcount_x2, "n*")
103
-
104
- glyph_ids = read(length - io.pos + @offset, "n*")
105
-
106
- @code_map = {}
107
-
108
- end_code.each_with_index do |tail, i|
109
- start_code[i].upto(tail) do |code|
110
- if id_range_offset[i].zero?
111
- glyph_id = code + id_delta[i]
112
- else
113
- index = id_range_offset[i] / 2 + (code - start_code[i]) - (segcount - i)
114
- glyph_id = glyph_ids[index] || 0 # because some TTF fonts are broken
115
- glyph_id += id_delta[i] if glyph_id != 0
116
- end
117
-
118
- @code_map[code] = glyph_id & 0xFFFF
119
- end
120
- end
121
- end
122
- end
123
-
124
- end
125
- end
126
- end