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,69 +0,0 @@
1
- module TTFunk
2
- module Encoding
3
- class Windows1252
4
- TO_UNICODE = Hash.new { |h,k| k }
5
- TO_UNICODE.update(
6
- 0x80 => 0x20AC, 0x82 => 0x201A, 0x83 => 0x0192, 0x84 => 0x201E, 0x85 => 0x2026,
7
- 0x86 => 0x2020, 0x87 => 0x2021, 0x88 => 0x02C6, 0x89 => 0x2030, 0x8A => 0x0160,
8
- 0x8B => 0x2039, 0x8C => 0x0152, 0x8E => 0x017D, 0x91 => 0x2018, 0x92 => 0x2019,
9
- 0x93 => 0x201C, 0x94 => 0x201D, 0x95 => 0x2022, 0x96 => 0x2013, 0x97 => 0x2014,
10
- 0x98 => 0x02DC, 0x99 => 0x2122, 0x9A => 0x0161, 0x9B => 0x203A, 0x9C => 0x0152,
11
- 0x9E => 0x017E, 0x9F => 0x0178
12
- )
13
-
14
- FROM_UNICODE = {}
15
- (0..255).each { |key| FROM_UNICODE[TO_UNICODE[key]] = key }
16
-
17
- # Maps Windows-1252 codes to their corresponding index in the Postscript glyph
18
- # table (see TTFunk::Table::Post::Format10). If any entry in this array is a string,
19
- # it is a postscript glyph that is not in the standard list, and which should be
20
- # emitted specially in the TTF postscript table ('post', see format 2).
21
- POSTSCRIPT_GLYPH_MAPPING = [
22
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
23
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
25
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
26
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
27
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
28
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
29
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0,
30
- "Euro", 0, 196, 166, 197, 171, 130, 194, 216, 198, 228, 190, 176, 0, 230, 0,
31
- 0, 182, 183, 180, 181, 135, 178, 179, 217, 140, 229, 191, 177, 0, 231, 186,
32
- 3, 163, 132, 133, 189, 150, 232, 134, 142, 139, 157, 169, 164, 16, 138, 218,
33
- 131, 147, 242, 243, 141, 151, 136, 195, 222, 241, 158, 170, 245, 244, 246, 162,
34
- 173, 201, 199, 174, 98, 99, 144, 100, 203, 101, 200, 202, 207, 204, 205, 206,
35
- 233, 102, 211, 208, 209, 175, 103, 240, 145, 214, 212, 213, 104, 235, 237, 137,
36
- 106, 105, 107, 109, 108, 110, 160, 111, 113, 112, 114, 115, 117, 116, 118, 119,
37
- 234, 120, 122, 121, 123, 125, 124, 184, 161, 127, 126, 128, 129, 236, 238, 186
38
- ]
39
-
40
- def self.covers?(character)
41
- !FROM_UNICODE[character].nil?
42
- end
43
-
44
- def self.to_utf8(string)
45
- to_unicode_codepoints(string.unpack("C*")).pack("U*")
46
- end
47
-
48
- def self.to_unicode(string)
49
- to_unicode_codepoints(string.unpack("C*")).pack("n*")
50
- end
51
-
52
- def self.from_utf8(string)
53
- from_unicode_codepoints(string.unpack("U*")).pack("C*")
54
- end
55
-
56
- def self.from_unicode(string)
57
- from_unicode_codepoints(string.unpack("n*")).pack("C*")
58
- end
59
-
60
- def self.to_unicode_codepoints(array)
61
- array.map { |code| TO_UNICODE[code] }
62
- end
63
-
64
- def self.from_unicode_codepoints(array)
65
- array.map { |code| FROM_UNICODE[code] || 0 }
66
- end
67
- end
68
- end
69
- end
@@ -1,44 +0,0 @@
1
- module TTFunk
2
- module Reader
3
- private
4
-
5
- def io
6
- @file.contents
7
- end
8
-
9
- def read(bytes, format)
10
- io.read(bytes).unpack(format)
11
- end
12
-
13
- def read_signed(count)
14
- read(count*2, "n*").map { |i| to_signed(i) }
15
- end
16
-
17
- def to_signed(n)
18
- (n>=0x8000) ? -((n ^ 0xFFFF) + 1) : n
19
- end
20
-
21
- def parse_from(position)
22
- saved, io.pos = io.pos, position
23
- result = yield position
24
- io.pos = saved
25
- return result
26
- end
27
-
28
- # For debugging purposes
29
- def hexdump(string)
30
- bytes = string.unpack("C*")
31
- bytes.each_with_index do |c, i|
32
- print "%02X" % c
33
- if (i+1) % 16 == 0
34
- puts
35
- elsif (i+1) % 8 == 0
36
- print " "
37
- else
38
- print " "
39
- end
40
- end
41
- puts unless bytes.length % 16 == 0
42
- end
43
- end
44
- end
@@ -1,78 +0,0 @@
1
- module TTFunk
2
- class ResourceFile
3
- attr_reader :map
4
-
5
- def self.open(path)
6
- ::File.open(path, "rb") do |io|
7
- file = new(io)
8
- yield file
9
- end
10
- end
11
-
12
- def initialize(io)
13
- @io = io
14
-
15
- data_offset, map_offset, data_length, map_length = @io.read(16).unpack("N*")
16
-
17
- @map = {}
18
- @io.pos = map_offset + 24 # skip header copy, next map handle, file reference, and attrs
19
- type_list_offset, name_list_offset = @io.read(4).unpack("n*")
20
-
21
- type_list_offset += map_offset
22
- name_list_offset += map_offset
23
-
24
- @io.pos = type_list_offset
25
- max_index = @io.read(2).unpack("n").first
26
- 0.upto(max_index) do
27
- type, max_type_index, ref_list_offset = @io.read(8).unpack("A4nn")
28
- @map[type] = { :list => [], :named => {} }
29
-
30
- parse_from(type_list_offset + ref_list_offset) do
31
- 0.upto(max_type_index) do
32
- id, name_ofs, attr = @io.read(5).unpack("nnC")
33
- data_ofs = @io.read(3)
34
- data_ofs = data_offset + [0, data_ofs].pack("CA*").unpack("N").first
35
- handle = @io.read(4).unpack("N").first
36
-
37
- entry = { :id => id, :attributes => attr, :offset => data_ofs, :handle => handle }
38
-
39
- if name_list_offset + name_ofs < map_offset + map_length
40
- parse_from(name_ofs + name_list_offset) do
41
- len = @io.read(1).unpack("C").first
42
- entry[:name] = @io.read(len)
43
- end
44
- end
45
-
46
- @map[type][:list] << entry
47
- @map[type][:named][entry[:name]] = entry if entry[:name]
48
- end
49
- end
50
- end
51
- end
52
-
53
- def [](type, index=0)
54
- if @map[type]
55
- collection = index.is_a?(Fixnum) ? :list : :named
56
- if @map[type][collection][index]
57
- parse_from(@map[type][collection][index][:offset]) do
58
- length = @io.read(4).unpack("N").first
59
- return @io.read(length)
60
- end
61
- end
62
- end
63
- end
64
-
65
- def resources_for(type)
66
- (@map[type] && @map[type][:named] || {}).keys
67
- end
68
-
69
- private
70
-
71
- def parse_from(offset)
72
- saved, @io.pos = @io.pos, offset
73
- yield
74
- ensure
75
- @io.pos = saved
76
- end
77
- end
78
- end
@@ -1,18 +0,0 @@
1
- require 'ttfunk/subset/unicode'
2
- require 'ttfunk/subset/unicode_8bit'
3
- require 'ttfunk/subset/mac_roman'
4
- require 'ttfunk/subset/windows_1252'
5
-
6
- module TTFunk
7
- module Subset
8
- def self.for(original, encoding)
9
- case encoding.to_sym
10
- when :unicode then Unicode.new(original)
11
- when :unicode_8bit then Unicode8Bit.new(original)
12
- when :mac_roman then MacRoman.new(original)
13
- when :windows_1252 then Windows1252.new(original)
14
- else raise NotImplementedError, "encoding #{encoding} is not supported"
15
- end
16
- end
17
- end
18
- end
@@ -1,141 +0,0 @@
1
- require 'ttfunk/table/cmap'
2
- require 'ttfunk/table/glyf'
3
- require 'ttfunk/table/head'
4
- require 'ttfunk/table/hhea'
5
- require 'ttfunk/table/hmtx'
6
- require 'ttfunk/table/kern'
7
- require 'ttfunk/table/loca'
8
- require 'ttfunk/table/maxp'
9
- require 'ttfunk/table/name'
10
- require 'ttfunk/table/post'
11
- require 'ttfunk/table/simple'
12
-
13
- module TTFunk
14
- module Subset
15
- class Base
16
- attr_reader :original
17
-
18
- def initialize(original)
19
- @original = original
20
- end
21
-
22
- def unicode?
23
- false
24
- end
25
-
26
- def to_unicode_map
27
- {}
28
- end
29
-
30
- def encode(options={})
31
- cmap_table = new_cmap_table(options)
32
- glyphs = collect_glyphs(original_glyph_ids)
33
-
34
- old2new_glyph = cmap_table[:charmap].inject({ 0 => 0 }) { |map, (code, ids)| map[ids[:old]] = ids[:new]; map }
35
- next_glyph_id = cmap_table[:max_glyph_id]
36
-
37
- glyphs.keys.each do |old_id|
38
- unless old2new_glyph.key?(old_id)
39
- old2new_glyph[old_id] = next_glyph_id
40
- next_glyph_id += 1
41
- end
42
- end
43
-
44
- new2old_glyph = old2new_glyph.invert
45
-
46
- # "mandatory" tables. Every font should ("should") have these, including
47
- # the cmap table (encoded above).
48
- glyf_table = TTFunk::Table::Glyf.encode(glyphs, new2old_glyph, old2new_glyph)
49
- loca_table = TTFunk::Table::Loca.encode(glyf_table[:offsets])
50
- hmtx_table = TTFunk::Table::Hmtx.encode(original.horizontal_metrics, new2old_glyph)
51
- hhea_table = TTFunk::Table::Hhea.encode(original.horizontal_header, hmtx_table)
52
- maxp_table = TTFunk::Table::Maxp.encode(original.maximum_profile, old2new_glyph)
53
- post_table = TTFunk::Table::Post.encode(original.postscript, new2old_glyph)
54
- name_table = TTFunk::Table::Name.encode(original.name)
55
- head_table = TTFunk::Table::Head.encode(original.header, loca_table)
56
-
57
- # "optional" tables. Fonts may omit these if they do not need them. Because they
58
- # apply globally, we can simply copy them over, without modification, if they
59
- # exist.
60
- os2_table = original.os2.raw
61
- cvt_table = TTFunk::Table::Simple.new(original, "cvt ").raw
62
- fpgm_table = TTFunk::Table::Simple.new(original, "fpgm").raw
63
- prep_table = TTFunk::Table::Simple.new(original, "prep").raw
64
-
65
- # for PDF's, the kerning info is all included in the PDF as the text is
66
- # drawn. Thus, the PDF readers do not actually use the kerning info in
67
- # embedded fonts. If the library is used for something else, the generated
68
- # subfont may need a kerning table... in that case, you need to opt into it.
69
- if options[:kerning]
70
- kern_table = TTFunk::Table::Kern.encode(original.kerning, old2new_glyph)
71
- end
72
-
73
- tables = { 'cmap' => cmap_table[:table],
74
- 'glyf' => glyf_table[:table],
75
- 'loca' => loca_table[:table],
76
- 'kern' => kern_table,
77
- 'hmtx' => hmtx_table[:table],
78
- 'hhea' => hhea_table,
79
- 'maxp' => maxp_table,
80
- 'OS/2' => os2_table,
81
- 'post' => post_table,
82
- 'name' => name_table,
83
- 'head' => head_table,
84
- 'prep' => prep_table,
85
- 'fpgm' => fpgm_table,
86
- 'cvt ' => cvt_table }
87
-
88
- tables.delete_if { |tag, table| table.nil? }
89
-
90
- search_range = (Math.log(tables.length) / Math.log(2)).to_i * 16
91
- entry_selector = (Math.log(search_range) / Math.log(2)).to_i
92
- range_shift = tables.length * 16 - search_range
93
-
94
- newfont = [original.directory.scaler_type, tables.length, search_range, entry_selector, range_shift].pack("Nn*")
95
-
96
- directory_size = tables.length * 16
97
- offset = newfont.length + directory_size
98
-
99
- table_data = ""
100
- head_offset = nil
101
- tables.each do |tag, data|
102
- newfont << [tag, checksum(data), offset, data.length].pack("A4N*")
103
- table_data << data
104
- head_offset = offset if tag == 'head'
105
- offset += data.length
106
- while offset % 4 != 0
107
- offset += 1
108
- table_data << "\0"
109
- end
110
- end
111
-
112
- newfont << table_data
113
- sum = checksum(newfont)
114
- adjustment = 0xB1B0AFBA - sum
115
- newfont[head_offset+8,4] = [adjustment].pack("N")
116
-
117
- return newfont
118
- end
119
-
120
- private
121
-
122
- def unicode_cmap
123
- @unicode_cmap ||= @original.cmap.unicode.first
124
- end
125
-
126
- def checksum(data)
127
- data += "\0" * (4 - data.length % 4) unless data.length % 4 == 0
128
- data.unpack("N*").inject(0) { |sum, dword| sum + dword } & 0xFFFF_FFFF
129
- end
130
-
131
- def collect_glyphs(glyph_ids)
132
- glyphs = glyph_ids.inject({}) { |h, id| h[id] = original.glyph_outlines.for(id); h }
133
- additional_ids = glyphs.values.select { |g| g && g.compound? }.map { |g| g.glyph_ids }.flatten
134
-
135
- glyphs.update(collect_glyphs(additional_ids)) if additional_ids.any?
136
-
137
- return glyphs
138
- end
139
- end
140
- end
141
- end
@@ -1,46 +0,0 @@
1
- require 'set'
2
- require 'ttfunk/subset/base'
3
- require 'ttfunk/encoding/mac_roman'
4
-
5
- module TTFunk
6
- module Subset
7
- class MacRoman < Base
8
- def initialize(original)
9
- super
10
- @subset = Array.new(256)
11
- end
12
-
13
- def use(character)
14
- @subset[Encoding::MacRoman::FROM_UNICODE[character]] = character
15
- end
16
-
17
- def covers?(character)
18
- Encoding::MacRoman.covers?(character)
19
- end
20
-
21
- def includes?(character)
22
- code = Encoding::MacRoman::FROM_UNICODE[character]
23
- code && @subset[code]
24
- end
25
-
26
- def from_unicode(character)
27
- Encoding::MacRoman::FROM_UNICODE[character]
28
- end
29
-
30
- protected
31
-
32
- def new_cmap_table(options)
33
- mapping = {}
34
- @subset.each_with_index do |unicode, roman|
35
- mapping[roman] = unicode_cmap[unicode] if roman
36
- end
37
-
38
- TTFunk::Table::Cmap.encode(mapping, :mac_roman)
39
- end
40
-
41
- def original_glyph_ids
42
- ([0] + @subset.map { |unicode| unicode && unicode_cmap[unicode] }).compact.uniq.sort
43
- end
44
- end
45
- end
46
- end
@@ -1,48 +0,0 @@
1
- require 'set'
2
- require 'ttfunk/subset/base'
3
-
4
- module TTFunk
5
- module Subset
6
- class Unicode < Base
7
- def initialize(original)
8
- super
9
- @subset = Set.new
10
- end
11
-
12
- def unicode?
13
- true
14
- end
15
-
16
- def to_unicode_map
17
- @subset.inject({}) { |map, code| map[code] = code; map }
18
- end
19
-
20
- def use(character)
21
- @subset << character
22
- end
23
-
24
- def covers?(character)
25
- true
26
- end
27
-
28
- def includes?(character)
29
- @subset.includes(character)
30
- end
31
-
32
- def from_unicode(character)
33
- character
34
- end
35
-
36
- protected
37
-
38
- def new_cmap_table(options)
39
- mapping = @subset.inject({}) { |map, code| map[code] = unicode_cmap[code]; map }
40
- TTFunk::Table::Cmap.encode(mapping, :unicode)
41
- end
42
-
43
- def original_glyph_ids
44
- ([0] + @subset.map { |code| unicode_cmap[code] }).uniq.sort
45
- end
46
- end
47
- end
48
- end