prawn-layout 0.3.2 → 0.7.1

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 (292) hide show
  1. data/README +1 -0
  2. data/Rakefile +6 -3
  3. data/lib/prawn/layout.rb +1 -1
  4. data/lib/prawn/layout/page.rb +0 -40
  5. data/lib/prawn/table/cell.rb +15 -13
  6. metadata +31 -309
  7. data/examples/page_layout/flowing_text_with_header_and_footer.rb +0 -36
  8. data/spec/page_layout_spec.rb +0 -41
  9. data/vendor/prawn-core/COPYING +0 -340
  10. data/vendor/prawn-core/HACKING +0 -46
  11. data/vendor/prawn-core/LICENSE +0 -56
  12. data/vendor/prawn-core/README +0 -142
  13. data/vendor/prawn-core/Rakefile +0 -75
  14. data/vendor/prawn-core/bench/afm_text_bench.rb +0 -18
  15. data/vendor/prawn-core/bench/png_type_6.rb +0 -15
  16. data/vendor/prawn-core/bench/ttf_text_bench.rb +0 -19
  17. data/vendor/prawn-core/bugs/canvas_sets_y_to_0.rb +0 -15
  18. data/vendor/prawn-core/bugs/png_barcode_issue.rb +0 -11
  19. data/vendor/prawn-core/bugs/resolved/canvas_sets_y_to_0.rb +0 -15
  20. data/vendor/prawn-core/data/encodings/win_ansi.txt +0 -29
  21. data/vendor/prawn-core/data/fonts/Action Man.dfont +0 -0
  22. data/vendor/prawn-core/data/fonts/Activa.ttf +0 -0
  23. data/vendor/prawn-core/data/fonts/Chalkboard.ttf +0 -0
  24. data/vendor/prawn-core/data/fonts/Courier-Bold.afm +0 -342
  25. data/vendor/prawn-core/data/fonts/Courier-BoldOblique.afm +0 -342
  26. data/vendor/prawn-core/data/fonts/Courier-Oblique.afm +0 -342
  27. data/vendor/prawn-core/data/fonts/Courier.afm +0 -342
  28. data/vendor/prawn-core/data/fonts/DejaVuSans.ttf +0 -0
  29. data/vendor/prawn-core/data/fonts/Dustismo_Roman.ttf +0 -0
  30. data/vendor/prawn-core/data/fonts/Helvetica-Bold.afm +0 -2827
  31. data/vendor/prawn-core/data/fonts/Helvetica-BoldOblique.afm +0 -2827
  32. data/vendor/prawn-core/data/fonts/Helvetica-Oblique.afm +0 -3051
  33. data/vendor/prawn-core/data/fonts/Helvetica.afm +0 -3051
  34. data/vendor/prawn-core/data/fonts/MustRead.html +0 -19
  35. data/vendor/prawn-core/data/fonts/Symbol.afm +0 -213
  36. data/vendor/prawn-core/data/fonts/Times-Bold.afm +0 -2588
  37. data/vendor/prawn-core/data/fonts/Times-BoldItalic.afm +0 -2384
  38. data/vendor/prawn-core/data/fonts/Times-Italic.afm +0 -2667
  39. data/vendor/prawn-core/data/fonts/Times-Roman.afm +0 -2419
  40. data/vendor/prawn-core/data/fonts/ZapfDingbats.afm +0 -225
  41. data/vendor/prawn-core/data/fonts/comicsans.ttf +0 -0
  42. data/vendor/prawn-core/data/fonts/gkai00mp.ttf +0 -0
  43. data/vendor/prawn-core/data/images/16bit.alpha +0 -0
  44. data/vendor/prawn-core/data/images/16bit.dat +0 -0
  45. data/vendor/prawn-core/data/images/16bit.png +0 -0
  46. data/vendor/prawn-core/data/images/arrow.png +0 -0
  47. data/vendor/prawn-core/data/images/arrow2.png +0 -0
  48. data/vendor/prawn-core/data/images/barcode_issue.png +0 -0
  49. data/vendor/prawn-core/data/images/dice.alpha +0 -0
  50. data/vendor/prawn-core/data/images/dice.dat +0 -0
  51. data/vendor/prawn-core/data/images/dice.png +0 -0
  52. data/vendor/prawn-core/data/images/dice_interlaced.png +0 -0
  53. data/vendor/prawn-core/data/images/fractal.jpg +0 -0
  54. data/vendor/prawn-core/data/images/letterhead.jpg +0 -0
  55. data/vendor/prawn-core/data/images/page_white_text.alpha +0 -0
  56. data/vendor/prawn-core/data/images/page_white_text.dat +0 -0
  57. data/vendor/prawn-core/data/images/page_white_text.png +0 -0
  58. data/vendor/prawn-core/data/images/pigs.jpg +0 -0
  59. data/vendor/prawn-core/data/images/rails.dat +0 -0
  60. data/vendor/prawn-core/data/images/rails.png +0 -0
  61. data/vendor/prawn-core/data/images/ruport.png +0 -0
  62. data/vendor/prawn-core/data/images/ruport_data.dat +0 -0
  63. data/vendor/prawn-core/data/images/ruport_transparent.png +0 -0
  64. data/vendor/prawn-core/data/images/ruport_type0.png +0 -0
  65. data/vendor/prawn-core/data/images/stef.jpg +0 -0
  66. data/vendor/prawn-core/data/images/tru256.bmp +0 -0
  67. data/vendor/prawn-core/data/images/web-links.dat +0 -1
  68. data/vendor/prawn-core/data/images/web-links.png +0 -0
  69. data/vendor/prawn-core/data/shift_jis_text.txt +0 -1
  70. data/vendor/prawn-core/examples/bounding_box/bounding_boxes.rb +0 -43
  71. data/vendor/prawn-core/examples/bounding_box/indentation.rb +0 -34
  72. data/vendor/prawn-core/examples/bounding_box/russian_boxes.rb +0 -36
  73. data/vendor/prawn-core/examples/bounding_box/stretched_nesting.rb +0 -67
  74. data/vendor/prawn-core/examples/column_box/column_box_example.rb +0 -43
  75. data/vendor/prawn-core/examples/example_helper.rb +0 -3
  76. data/vendor/prawn-core/examples/general/background.rb +0 -23
  77. data/vendor/prawn-core/examples/general/canvas.rb +0 -15
  78. data/vendor/prawn-core/examples/general/margin.rb +0 -36
  79. data/vendor/prawn-core/examples/general/measurement_units.rb +0 -51
  80. data/vendor/prawn-core/examples/general/metadata-info.rb +0 -16
  81. data/vendor/prawn-core/examples/general/multi_page_layout.rb +0 -18
  82. data/vendor/prawn-core/examples/general/page_geometry.rb +0 -31
  83. data/vendor/prawn-core/examples/general/page_numbering.rb +0 -15
  84. data/vendor/prawn-core/examples/general/stamp.rb +0 -45
  85. data/vendor/prawn-core/examples/graphics/basic_images.rb +0 -23
  86. data/vendor/prawn-core/examples/graphics/cmyk.rb +0 -12
  87. data/vendor/prawn-core/examples/graphics/curves.rb +0 -11
  88. data/vendor/prawn-core/examples/graphics/hexagon.rb +0 -13
  89. data/vendor/prawn-core/examples/graphics/image_fit.rb +0 -15
  90. data/vendor/prawn-core/examples/graphics/image_flow.rb +0 -37
  91. data/vendor/prawn-core/examples/graphics/image_position.rb +0 -17
  92. data/vendor/prawn-core/examples/graphics/line.rb +0 -32
  93. data/vendor/prawn-core/examples/graphics/png_types.rb +0 -22
  94. data/vendor/prawn-core/examples/graphics/polygons.rb +0 -16
  95. data/vendor/prawn-core/examples/graphics/remote_images.rb +0 -12
  96. data/vendor/prawn-core/examples/graphics/ruport_style_helpers.rb +0 -19
  97. data/vendor/prawn-core/examples/graphics/stroke_bounds.rb +0 -20
  98. data/vendor/prawn-core/examples/graphics/stroke_cap_and_join.rb +0 -45
  99. data/vendor/prawn-core/examples/graphics/stroke_dash.rb +0 -42
  100. data/vendor/prawn-core/examples/graphics/transparency.rb +0 -26
  101. data/vendor/prawn-core/examples/m17n/chinese_text_wrapping.rb +0 -19
  102. data/vendor/prawn-core/examples/m17n/euro.rb +0 -15
  103. data/vendor/prawn-core/examples/m17n/sjis.rb +0 -28
  104. data/vendor/prawn-core/examples/m17n/utf8.rb +0 -13
  105. data/vendor/prawn-core/examples/m17n/win_ansi_charset.rb +0 -54
  106. data/vendor/prawn-core/examples/text/alignment.rb +0 -18
  107. data/vendor/prawn-core/examples/text/dfont.rb +0 -48
  108. data/vendor/prawn-core/examples/text/family_based_styling.rb +0 -24
  109. data/vendor/prawn-core/examples/text/font_calculations.rb +0 -91
  110. data/vendor/prawn-core/examples/text/font_size.rb +0 -33
  111. data/vendor/prawn-core/examples/text/kerning.rb +0 -30
  112. data/vendor/prawn-core/examples/text/simple_text.rb +0 -17
  113. data/vendor/prawn-core/examples/text/simple_text_ttf.rb +0 -17
  114. data/vendor/prawn-core/examples/text/span.rb +0 -29
  115. data/vendor/prawn-core/examples/text/text_box.rb +0 -25
  116. data/vendor/prawn-core/examples/text/text_box_returning_excess.rb +0 -51
  117. data/vendor/prawn-core/examples/text/text_flow.rb +0 -67
  118. data/vendor/prawn-core/lib/prawn/byte_string.rb +0 -7
  119. data/vendor/prawn-core/lib/prawn/compatibility.rb +0 -38
  120. data/vendor/prawn-core/lib/prawn/core.rb +0 -85
  121. data/vendor/prawn-core/lib/prawn/document.rb +0 -534
  122. data/vendor/prawn-core/lib/prawn/document/annotations.rb +0 -65
  123. data/vendor/prawn-core/lib/prawn/document/bounding_box.rb +0 -390
  124. data/vendor/prawn-core/lib/prawn/document/column_box.rb +0 -102
  125. data/vendor/prawn-core/lib/prawn/document/destinations.rb +0 -92
  126. data/vendor/prawn-core/lib/prawn/document/internals.rb +0 -180
  127. data/vendor/prawn-core/lib/prawn/document/page_geometry.rb +0 -153
  128. data/vendor/prawn-core/lib/prawn/document/snapshot.rb +0 -71
  129. data/vendor/prawn-core/lib/prawn/document/span.rb +0 -55
  130. data/vendor/prawn-core/lib/prawn/document/text.rb +0 -184
  131. data/vendor/prawn-core/lib/prawn/document/text/box.rb +0 -90
  132. data/vendor/prawn-core/lib/prawn/document/text/wrapping.rb +0 -62
  133. data/vendor/prawn-core/lib/prawn/encoding.rb +0 -121
  134. data/vendor/prawn-core/lib/prawn/errors.rb +0 -61
  135. data/vendor/prawn-core/lib/prawn/font.rb +0 -297
  136. data/vendor/prawn-core/lib/prawn/font/afm.rb +0 -202
  137. data/vendor/prawn-core/lib/prawn/font/dfont.rb +0 -34
  138. data/vendor/prawn-core/lib/prawn/font/ttf.rb +0 -329
  139. data/vendor/prawn-core/lib/prawn/graphics.rb +0 -264
  140. data/vendor/prawn-core/lib/prawn/graphics/cap_style.rb +0 -35
  141. data/vendor/prawn-core/lib/prawn/graphics/color.rb +0 -141
  142. data/vendor/prawn-core/lib/prawn/graphics/dash.rb +0 -69
  143. data/vendor/prawn-core/lib/prawn/graphics/join_style.rb +0 -35
  144. data/vendor/prawn-core/lib/prawn/graphics/transparency.rb +0 -56
  145. data/vendor/prawn-core/lib/prawn/images.rb +0 -339
  146. data/vendor/prawn-core/lib/prawn/images/jpg.rb +0 -46
  147. data/vendor/prawn-core/lib/prawn/images/png.rb +0 -219
  148. data/vendor/prawn-core/lib/prawn/literal_string.rb +0 -14
  149. data/vendor/prawn-core/lib/prawn/measurement_extensions.rb +0 -46
  150. data/vendor/prawn-core/lib/prawn/measurements.rb +0 -71
  151. data/vendor/prawn-core/lib/prawn/name_tree.rb +0 -166
  152. data/vendor/prawn-core/lib/prawn/object_store.rb +0 -63
  153. data/vendor/prawn-core/lib/prawn/pdf_object.rb +0 -81
  154. data/vendor/prawn-core/lib/prawn/reference.rb +0 -72
  155. data/vendor/prawn-core/lib/prawn/stamp.rb +0 -87
  156. data/vendor/prawn-core/meta/Rakefile +0 -62
  157. data/vendor/prawn-core/meta/lib/prawn.rb +0 -2
  158. data/vendor/prawn-core/reference_pdfs/alignment.pdf +0 -229
  159. data/vendor/prawn-core/reference_pdfs/background.pdf +0 -0
  160. data/vendor/prawn-core/reference_pdfs/basic_images.pdf +0 -0
  161. data/vendor/prawn-core/reference_pdfs/bounding_boxes.pdf +0 -128
  162. data/vendor/prawn-core/reference_pdfs/canvas.pdf +0 -78
  163. data/vendor/prawn-core/reference_pdfs/chinese_flow.pdf +0 -0
  164. data/vendor/prawn-core/reference_pdfs/cmyk.pdf +0 -0
  165. data/vendor/prawn-core/reference_pdfs/column_box.pdf +0 -3671
  166. data/vendor/prawn-core/reference_pdfs/curves.pdf +0 -62
  167. data/vendor/prawn-core/reference_pdfs/dfont.pdf +0 -0
  168. data/vendor/prawn-core/reference_pdfs/euro.pdf +0 -75
  169. data/vendor/prawn-core/reference_pdfs/family_style.pdf +0 -286
  170. data/vendor/prawn-core/reference_pdfs/flow.pdf +0 -964
  171. data/vendor/prawn-core/reference_pdfs/font_calculations.pdf +0 -0
  172. data/vendor/prawn-core/reference_pdfs/font_size.pdf +0 -142
  173. data/vendor/prawn-core/reference_pdfs/hexagon.pdf +0 -61
  174. data/vendor/prawn-core/reference_pdfs/image-flow.pdf +0 -0
  175. data/vendor/prawn-core/reference_pdfs/image_fit.pdf +0 -0
  176. data/vendor/prawn-core/reference_pdfs/image_position.pdf +0 -0
  177. data/vendor/prawn-core/reference_pdfs/indentation.pdf +0 -124
  178. data/vendor/prawn-core/reference_pdfs/kerning.pdf +0 -0
  179. data/vendor/prawn-core/reference_pdfs/landscape_a4.pdf +0 -52
  180. data/vendor/prawn-core/reference_pdfs/landscape_legal.pdf +0 -52
  181. data/vendor/prawn-core/reference_pdfs/landscape_letter.pdf +0 -52
  182. data/vendor/prawn-core/reference_pdfs/lines.pdf +0 -116
  183. data/vendor/prawn-core/reference_pdfs/margin.pdf +0 -3850
  184. data/vendor/prawn-core/reference_pdfs/measurement_units.pdf +0 -4667
  185. data/vendor/prawn-core/reference_pdfs/metadata-info.pdf +0 -88
  186. data/vendor/prawn-core/reference_pdfs/multi-layout.pdf +0 -209
  187. data/vendor/prawn-core/reference_pdfs/page_with_numbering.pdf +0 -156
  188. data/vendor/prawn-core/reference_pdfs/png_types.pdf +0 -0
  189. data/vendor/prawn-core/reference_pdfs/portrait_a4.pdf +0 -52
  190. data/vendor/prawn-core/reference_pdfs/portrait_legal.pdf +0 -52
  191. data/vendor/prawn-core/reference_pdfs/portrait_letter.pdf +0 -52
  192. data/vendor/prawn-core/reference_pdfs/pretty_polygons.pdf +0 -122
  193. data/vendor/prawn-core/reference_pdfs/remote_images.pdf +0 -0
  194. data/vendor/prawn-core/reference_pdfs/ruport.pdf +0 -101
  195. data/vendor/prawn-core/reference_pdfs/russian_boxes.pdf +0 -2780
  196. data/vendor/prawn-core/reference_pdfs/simple_text.pdf +0 -136
  197. data/vendor/prawn-core/reference_pdfs/simple_text_ttf.pdf +0 -0
  198. data/vendor/prawn-core/reference_pdfs/sjis.pdf +0 -0
  199. data/vendor/prawn-core/reference_pdfs/span.pdf +0 -1975
  200. data/vendor/prawn-core/reference_pdfs/stamp.pdf +0 -696
  201. data/vendor/prawn-core/reference_pdfs/stretched_nesting.pdf +0 -200
  202. data/vendor/prawn-core/reference_pdfs/stroke_bounds.pdf +0 -135
  203. data/vendor/prawn-core/reference_pdfs/stroke_cap_and_join.pdf +0 -80
  204. data/vendor/prawn-core/reference_pdfs/stroke_dash.pdf +0 -457
  205. data/vendor/prawn-core/reference_pdfs/text_box.pdf +0 -315
  206. data/vendor/prawn-core/reference_pdfs/text_box_returning_excess.pdf +0 -271
  207. data/vendor/prawn-core/reference_pdfs/transparency.pdf +0 -347
  208. data/vendor/prawn-core/reference_pdfs/utf8.pdf +0 -0
  209. data/vendor/prawn-core/reference_pdfs/win-ansi.pdf +0 -6172
  210. data/vendor/prawn-core/spec/annotations_spec.rb +0 -90
  211. data/vendor/prawn-core/spec/bounding_box_spec.rb +0 -185
  212. data/vendor/prawn-core/spec/destinations_spec.rb +0 -15
  213. data/vendor/prawn-core/spec/document_spec.rb +0 -231
  214. data/vendor/prawn-core/spec/font_spec.rb +0 -273
  215. data/vendor/prawn-core/spec/graphics_spec.rb +0 -209
  216. data/vendor/prawn-core/spec/images_spec.rb +0 -79
  217. data/vendor/prawn-core/spec/jpg_spec.rb +0 -25
  218. data/vendor/prawn-core/spec/measurement_units_spec.rb +0 -23
  219. data/vendor/prawn-core/spec/name_tree_spec.rb +0 -112
  220. data/vendor/prawn-core/spec/object_store_spec.rb +0 -42
  221. data/vendor/prawn-core/spec/pdf_object_spec.rb +0 -122
  222. data/vendor/prawn-core/spec/png_spec.rb +0 -236
  223. data/vendor/prawn-core/spec/reference_spec.rb +0 -82
  224. data/vendor/prawn-core/spec/snapshot_spec.rb +0 -115
  225. data/vendor/prawn-core/spec/span_spec.rb +0 -45
  226. data/vendor/prawn-core/spec/spec_helper.rb +0 -20
  227. data/vendor/prawn-core/spec/stamp_spec.rb +0 -98
  228. data/vendor/prawn-core/spec/stroke_styles_spec.rb +0 -152
  229. data/vendor/prawn-core/spec/text_box_spec.rb +0 -109
  230. data/vendor/prawn-core/spec/text_spec.rb +0 -185
  231. data/vendor/prawn-core/spec/transparency_spec.rb +0 -61
  232. data/vendor/prawn-core/vendor/pdf-inspector/README +0 -18
  233. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector.rb +0 -26
  234. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/extgstate.rb +0 -18
  235. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/graphics.rb +0 -119
  236. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/page.rb +0 -25
  237. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/text.rb +0 -31
  238. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/xobject.rb +0 -19
  239. data/vendor/prawn-core/vendor/ttfunk/data/fonts/DejaVuSans.ttf +0 -0
  240. data/vendor/prawn-core/vendor/ttfunk/data/fonts/comicsans.ttf +0 -0
  241. data/vendor/prawn-core/vendor/ttfunk/example.rb +0 -45
  242. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk.rb +0 -102
  243. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/directory.rb +0 -17
  244. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/mac_roman.rb +0 -88
  245. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/windows_1252.rb +0 -69
  246. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/reader.rb +0 -44
  247. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/resource_file.rb +0 -78
  248. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset.rb +0 -18
  249. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/base.rb +0 -141
  250. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/mac_roman.rb +0 -46
  251. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode.rb +0 -48
  252. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode_8bit.rb +0 -63
  253. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/windows_1252.rb +0 -51
  254. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset_collection.rb +0 -72
  255. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table.rb +0 -46
  256. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap.rb +0 -34
  257. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format00.rb +0 -54
  258. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format04.rb +0 -126
  259. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/subtable.rb +0 -79
  260. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf.rb +0 -64
  261. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/compound.rb +0 -81
  262. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/simple.rb +0 -37
  263. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/head.rb +0 -44
  264. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hhea.rb +0 -41
  265. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hmtx.rb +0 -47
  266. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern.rb +0 -79
  267. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern/format0.rb +0 -62
  268. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/loca.rb +0 -43
  269. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/maxp.rb +0 -40
  270. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/name.rb +0 -119
  271. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/os2.rb +0 -78
  272. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post.rb +0 -91
  273. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format10.rb +0 -43
  274. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format20.rb +0 -35
  275. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format25.rb +0 -23
  276. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format30.rb +0 -17
  277. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format40.rb +0 -17
  278. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/simple.rb +0 -14
  279. data/vendor/prawn-core/www/index.html +0 -196
  280. data/vendor/prawn-core/www/media/bounding_boxes.pdf +0 -146
  281. data/vendor/prawn-core/www/media/bounding_boxes.png +0 -0
  282. data/vendor/prawn-core/www/media/bounding_boxes_out.png +0 -0
  283. data/vendor/prawn-core/www/media/fancy_table.pdf +0 -350
  284. data/vendor/prawn-core/www/media/image.pdf +0 -0
  285. data/vendor/prawn-core/www/media/images.png +0 -0
  286. data/vendor/prawn-core/www/media/prawn_logo.png +0 -0
  287. data/vendor/prawn-core/www/media/tables.png +0 -0
  288. data/vendor/prawn-core/www/media/utf8.pdf +0 -0
  289. data/vendor/prawn-core/www/media/utf8.png +0 -0
  290. data/vendor/prawn-core/www/prawn-Chinese.html +0 -113
  291. data/vendor/prawn-core/www/prawn.css +0 -86
  292. data/vendor/prawn-core/www/twilight.css +0 -266
@@ -1,35 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # join_style.rb : Implements stroke join styling
4
- #
5
- # Contributed by Daniel Nelson. October, 2009
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
- #
9
- module Prawn
10
- module Graphics
11
- module JoinStyle
12
- # Sets the join_style for stroked lines and curves
13
- #
14
-
15
- JOIN_STYLES = { :miter => 0, :round => 1, :bevel => 2 }
16
-
17
- # style is one of :miter, :round, or :bevel
18
- def join_style(style=nil)
19
- return @join_style || :miter if style.nil?
20
-
21
- @join_style = style
22
-
23
- write_stroke_join_style
24
- end
25
-
26
- alias_method :join_style=, :join_style
27
-
28
- private
29
-
30
- def write_stroke_join_style
31
- add_content "#{JOIN_STYLES[@join_style]} j"
32
- end
33
- end
34
- end
35
- end
@@ -1,56 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # transparency.rb : Implements transparency
4
- #
5
- # Copyright October 2009, Daniel Nelson. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
- #
9
-
10
- module Prawn
11
- module Graphics
12
- module Transparency
13
-
14
- def transparent(opacity, stroke_opacity=opacity, &block)
15
- min_version(1.4)
16
-
17
- key = "#{opacity}_#{stroke_opacity}"
18
-
19
- if opacity_dictionary_registry[key]
20
- opacity_dictionary = opacity_dictionary_registry[key][:obj]
21
- opacity_dictionary_name = opacity_dictionary_registry[key][:name]
22
- else
23
- opacity_dictionary = ref!(:Type => :ExtGState,
24
- :CA => stroke_opacity,
25
- :ca => opacity
26
- )
27
-
28
- opacity_dictionary_name = "Tr#{next_opacity_dictionary_id}"
29
- opacity_dictionary_registry[key] = { :name => opacity_dictionary_name,
30
- :obj => opacity_dictionary }
31
- end
32
-
33
- page_ext_gstates.merge!(opacity_dictionary_name => opacity_dictionary)
34
-
35
- # push a new graphics context onto the graphics context stack
36
- add_content "q"
37
- add_content "/#{opacity_dictionary_name} gs"
38
-
39
- yield if block_given?
40
-
41
- add_content "Q"
42
- end
43
-
44
- private
45
-
46
- def opacity_dictionary_registry
47
- @opacity_dictionary_registry ||= {}
48
- end
49
-
50
- def next_opacity_dictionary_id
51
- opacity_dictionary_registry.length + 1
52
- end
53
-
54
- end
55
- end
56
- end
@@ -1,339 +0,0 @@
1
- # encoding: ASCII-8BIT
2
- # images.rb : Implements PDF image embedding
3
- #
4
- # Copyright April 2008, James Healy, Gregory Brown. All Rights Reserved.
5
- #
6
- # This is free software. Please see the LICENSE and COPYING files for details.
7
-
8
- require 'digest/sha1'
9
-
10
- module Prawn
11
-
12
- module Images
13
-
14
- # Add the image at filename to the current page. Currently only
15
- # JPG and PNG files are supported.
16
- #
17
- # Arguments:
18
- # <tt>file</tt>:: path to file or an object that responds to #read
19
- #
20
- # Options:
21
- # <tt>:at</tt>:: an array [x,y] with the location of the top left corner of the image.
22
- # <tt>:position</tt>:: One of (:left, :center, :right) or an x-offset
23
- # <tt>:vposition</tt>:: One of (:top, :center, :center) or an y-offset
24
- # <tt>:height</tt>:: the height of the image [actual height of the image]
25
- # <tt>:width</tt>:: the width of the image [actual width of the image]
26
- # <tt>:scale</tt>:: scale the dimensions of the image proportionally
27
- # <tt>:fit</tt>:: scale the dimensions of the image proportionally to fit inside [width,height]
28
- #
29
- # Prawn::Document.generate("image2.pdf", :page_layout => :landscape) do
30
- # pigs = "#{Prawn::BASEDIR}/data/images/pigs.jpg"
31
- # image pigs, :at => [50,450], :width => 450
32
- #
33
- # dice = "#{Prawn::BASEDIR}/data/images/dice.png"
34
- # image dice, :at => [50, 450], :scale => 0.75
35
- # end
36
- #
37
- # If only one of :width / :height are provided, the image will be scaled
38
- # proportionally. When both are provided, the image will be stretched to
39
- # fit the dimensions without maintaining the aspect ratio.
40
- #
41
- #
42
- # If :at is provided, the image will be place in the current page but
43
- # the text position will not be changed.
44
- #
45
- #
46
- # If instead of an explicit filename, an object with a read method is
47
- # passed as +file+, you can embed images from IO objects and things
48
- # that act like them (including Tempfiles and open-uri objects).
49
- #
50
- # require "open-uri"
51
- #
52
- # Prawn::Document.generate("remote_images.pdf") do
53
- # image open("http://prawn.majesticseacreature.com/media/prawn_logo.png")
54
- # end
55
- #
56
- # This method returns an image info object which can be used to check the
57
- # dimensions of an image object if needed.
58
- # (See also: Prawn::Images::PNG , Prawn::Images::JPG)
59
- #
60
- def image(file, options={})
61
- Prawn.verify_options [:at, :position, :vposition, :height,
62
- :width, :scale, :fit], options
63
-
64
- if file.respond_to?(:read)
65
- image_content = file.read
66
- else
67
- raise ArgumentError, "#{file} not found" unless File.file?(file)
68
- image_content = File.binread(file)
69
- end
70
-
71
- image_sha1 = Digest::SHA1.hexdigest(image_content)
72
-
73
- # register the fact that the current page uses images
74
- proc_set :ImageC
75
-
76
- # if this image has already been embedded, just reuse it
77
- if image_registry[image_sha1]
78
- info = image_registry[image_sha1][:info]
79
- image_obj = image_registry[image_sha1][:obj]
80
- else
81
- # build the image object and embed the raw data
82
- image_obj = case detect_image_format(image_content)
83
- when :jpg then
84
- info = Prawn::Images::JPG.new(image_content)
85
- build_jpg_object(image_content, info)
86
- when :png then
87
- info = Prawn::Images::PNG.new(image_content)
88
- build_png_object(image_content, info)
89
- end
90
- image_registry[image_sha1] = {:obj => image_obj, :info => info}
91
- end
92
-
93
- # find where the image will be placed and how big it will be
94
- w,h = calc_image_dimensions(info, options)
95
-
96
- if options[:at]
97
- x,y = translate(options[:at])
98
- else
99
- x,y = image_position(w,h,options)
100
- move_text_position h
101
- end
102
-
103
- # add a reference to the image object to the current page
104
- # resource list and give it a label
105
- label = "I#{next_image_id}"
106
- page_xobjects.merge!( label => image_obj )
107
-
108
- # add the image to the current page
109
- instruct = "\nq\n%.3f 0 0 %.3f %.3f %.3f cm\n/%s Do\nQ"
110
- add_content instruct % [ w, h, x, y - h, label ]
111
-
112
- return info
113
- end
114
-
115
- private
116
-
117
- def image_position(w,h,options)
118
- options[:position] ||= :left
119
-
120
- x = case options[:position]
121
- when :left
122
- bounds.absolute_left
123
- when :center
124
- bounds.absolute_left + (bounds.width - w) / 2.0
125
- when :right
126
- bounds.absolute_right - w
127
- when Numeric
128
- options[:position] + bounds.absolute_left
129
- end
130
-
131
- y = case options[:vposition]
132
- when :top
133
- bounds.absolute_top
134
- when :center
135
- bounds.absolute_top - (bounds.height - h) / 2.0
136
- when :bottom
137
- bounds.absolute_bottom + h
138
- when Numeric
139
- bounds.absolute_top - options[:vposition]
140
- else
141
- self.y
142
- end
143
- return [x,y]
144
- end
145
-
146
- def build_jpg_object(data, jpg)
147
- color_space = case jpg.channels
148
- when 1
149
- :DeviceGray
150
- when 3
151
- :DeviceRGB
152
- when 4
153
- :DeviceCMYK
154
- else
155
- raise ArgumentError, 'JPG uses an unsupported number of channels'
156
- end
157
- obj = ref!(:Type => :XObject,
158
- :Subtype => :Image,
159
- :Filter => :DCTDecode,
160
- :ColorSpace => color_space,
161
- :BitsPerComponent => jpg.bits,
162
- :Width => jpg.width,
163
- :Height => jpg.height,
164
- :Length => data.size )
165
-
166
- # add extra decode params for CMYK images. By swapping the
167
- # min and max values from the default, we invert the colours. See
168
- # section 4.8.4 of the spec.
169
- if color_space == :DeviceCMYK
170
- obj.data[:Decode] = [ 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0 ]
171
- end
172
-
173
- obj << data
174
- return obj
175
- end
176
-
177
- def build_png_object(data, png)
178
-
179
- if png.compression_method != 0
180
- raise Errors::UnsupportedImageType, 'PNG uses an unsupported compression method'
181
- end
182
-
183
- if png.filter_method != 0
184
- raise Errors::UnsupportedImageType, 'PNG uses an unsupported filter method'
185
- end
186
-
187
- if png.interlace_method != 0
188
- raise Errors::UnsupportedImageType, 'PNG uses unsupported interlace method'
189
- end
190
-
191
- # some PNG types store the colour and alpha channel data together,
192
- # which the PDF spec doesn't like, so split it out.
193
- png.split_alpha_channel!
194
-
195
- case png.colors
196
- when 1
197
- color = :DeviceGray
198
- when 3
199
- color = :DeviceRGB
200
- else
201
- raise Errors::UnsupportedImageType, "PNG uses an unsupported number of colors (#{png.colors})"
202
- end
203
-
204
- # build the image dict
205
- obj = ref!(:Type => :XObject,
206
- :Subtype => :Image,
207
- :Height => png.height,
208
- :Width => png.width,
209
- :BitsPerComponent => png.bits,
210
- :Length => png.img_data.size,
211
- :Filter => :FlateDecode
212
- )
213
-
214
- unless png.alpha_channel
215
- obj.data[:DecodeParms] = {:Predictor => 15,
216
- :Colors => png.colors,
217
- :BitsPerComponent => png.bits,
218
- :Columns => png.width}
219
- end
220
-
221
- # append the actual image data to the object as a stream
222
- obj << png.img_data
223
-
224
- # sort out the colours of the image
225
- if png.palette.empty?
226
- obj.data[:ColorSpace] = color
227
- else
228
- # embed the colour palette in the PDF as a object stream
229
- palette_obj = ref!(:Length => png.palette.size)
230
- palette_obj << png.palette
231
-
232
- # build the color space array for the image
233
- obj.data[:ColorSpace] = [:Indexed,
234
- :DeviceRGB,
235
- (png.palette.size / 3) -1,
236
- palette_obj]
237
- end
238
-
239
- # *************************************
240
- # add transparency data if necessary
241
- # *************************************
242
-
243
- # For PNG color types 0, 2 and 3, the transparency data is stored in
244
- # a dedicated PNG chunk, and is exposed via the transparency attribute
245
- # of the PNG class.
246
- if png.transparency[:grayscale]
247
- # Use Color Key Masking (spec section 4.8.5)
248
- # - An array with N elements, where N is two times the number of color
249
- # components.
250
- val = png.transparency[:grayscale]
251
- obj.data[:Mask] = [val, val]
252
- elsif png.transparency[:rgb]
253
- # Use Color Key Masking (spec section 4.8.5)
254
- # - An array with N elements, where N is two times the number of color
255
- # components.
256
- rgb = png.transparency[:rgb]
257
- obj.data[:Mask] = rgb.collect { |val| [val,val] }.flatten
258
- elsif png.transparency[:indexed]
259
- # TODO: broken. I was attempting to us Color Key Masking, but I think
260
- # we need to construct an SMask i think. Maybe do it inside
261
- # the PNG class, and store it in alpha_channel
262
- #obj.data[:Mask] = png.transparency[:indexed]
263
- end
264
-
265
- # For PNG color types 4 and 6, the transparency data is stored as a alpha
266
- # channel mixed in with the main image data. The PNG class seperates
267
- # it out for us and makes it available via the alpha_channel attribute
268
- if png.alpha_channel
269
- smask_obj = ref!(:Type => :XObject,
270
- :Subtype => :Image,
271
- :Height => png.height,
272
- :Width => png.width,
273
- :BitsPerComponent => png.bits,
274
- :Length => png.alpha_channel.size,
275
- :Filter => :FlateDecode,
276
- :ColorSpace => :DeviceGray,
277
- :Decode => [0, 1]
278
- )
279
- smask_obj << png.alpha_channel
280
- obj.data[:SMask] = smask_obj
281
- end
282
-
283
- return obj
284
- end
285
-
286
- def calc_image_dimensions(info, options)
287
- w = options[:width] || info.width
288
- h = options[:height] || info.height
289
-
290
- if options[:width] && !options[:height]
291
- wp = w / info.width.to_f
292
- w = info.width * wp
293
- h = info.height * wp
294
- elsif options[:height] && !options[:width]
295
- hp = h / info.height.to_f
296
- w = info.width * hp
297
- h = info.height * hp
298
- elsif options[:scale]
299
- w = info.width * options[:scale]
300
- h = info.height * options[:scale]
301
- elsif options[:fit]
302
- bw, bh = options[:fit]
303
- bp = bw / bh.to_f
304
- ip = info.width / info.height.to_f
305
- if ip > bp
306
- w = bw
307
- h = bw / ip
308
- else
309
- h = bh
310
- w = bh * ip
311
- end
312
- end
313
- info.scaled_width = w
314
- info.scaled_height = h
315
- [w,h]
316
- end
317
-
318
- def detect_image_format(content)
319
- top = content[0,128]
320
-
321
- if top[0, 3] == "\xff\xd8\xff"
322
- return :jpg
323
- elsif top[0, 8] == "\x89PNG\x0d\x0a\x1a\x0a"
324
- return :png
325
- else
326
- raise Errors::UnsupportedImageType, "image file is an unrecognised format"
327
- end
328
- end
329
-
330
- def image_registry
331
- @image_registry ||= {}
332
- end
333
-
334
- def next_image_id
335
- @image_counter ||= 0
336
- @image_counter += 1
337
- end
338
- end
339
- end
@@ -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 string containing a full PNG file
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