prawn-layout 0.2.1 → 0.3.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 (297) hide show
  1. data/Rakefile +1 -1
  2. data/examples/example_helper.rb +5 -1
  3. data/examples/grid/bounding_boxes.rb +21 -0
  4. data/examples/grid/column_gutter_grid.rb +20 -0
  5. data/examples/grid/multi_boxes.rb +51 -0
  6. data/examples/grid/show_grid.rb +13 -0
  7. data/lib/prawn/layout.rb +1 -1
  8. data/lib/prawn/layout/grid.rb +36 -18
  9. data/lib/prawn/table.rb +20 -8
  10. data/lib/prawn/table/cell.rb +24 -15
  11. data/spec/spec_helper.rb +2 -1
  12. data/spec/table_spec.rb +32 -0
  13. data/vendor/prawn-core/COPYING +340 -0
  14. data/vendor/prawn-core/HACKING +46 -0
  15. data/vendor/prawn-core/LICENSE +56 -0
  16. data/vendor/prawn-core/README +142 -0
  17. data/vendor/prawn-core/Rakefile +75 -0
  18. data/vendor/prawn-core/bench/afm_text_bench.rb +18 -0
  19. data/vendor/prawn-core/bench/png_type_6.rb +15 -0
  20. data/vendor/prawn-core/bench/ttf_text_bench.rb +19 -0
  21. data/vendor/prawn-core/bugs/canvas_sets_y_to_0.rb +15 -0
  22. data/vendor/prawn-core/bugs/png_barcode_issue.rb +11 -0
  23. data/vendor/prawn-core/bugs/resolved/canvas_sets_y_to_0.rb +15 -0
  24. data/vendor/prawn-core/data/encodings/win_ansi.txt +29 -0
  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 +342 -0
  29. data/vendor/prawn-core/data/fonts/Courier-BoldOblique.afm +342 -0
  30. data/vendor/prawn-core/data/fonts/Courier-Oblique.afm +342 -0
  31. data/vendor/prawn-core/data/fonts/Courier.afm +342 -0
  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 +2827 -0
  35. data/vendor/prawn-core/data/fonts/Helvetica-BoldOblique.afm +2827 -0
  36. data/vendor/prawn-core/data/fonts/Helvetica-Oblique.afm +3051 -0
  37. data/vendor/prawn-core/data/fonts/Helvetica.afm +3051 -0
  38. data/vendor/prawn-core/data/fonts/MustRead.html +19 -0
  39. data/vendor/prawn-core/data/fonts/Symbol.afm +213 -0
  40. data/vendor/prawn-core/data/fonts/Times-Bold.afm +2588 -0
  41. data/vendor/prawn-core/data/fonts/Times-BoldItalic.afm +2384 -0
  42. data/vendor/prawn-core/data/fonts/Times-Italic.afm +2667 -0
  43. data/vendor/prawn-core/data/fonts/Times-Roman.afm +2419 -0
  44. data/vendor/prawn-core/data/fonts/ZapfDingbats.afm +225 -0
  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 +1 -0
  72. data/vendor/prawn-core/data/images/web-links.png +0 -0
  73. data/vendor/prawn-core/data/shift_jis_text.txt +1 -0
  74. data/vendor/prawn-core/examples/bounding_box/bounding_boxes.rb +43 -0
  75. data/vendor/prawn-core/examples/bounding_box/indentation.rb +34 -0
  76. data/vendor/prawn-core/examples/bounding_box/russian_boxes.rb +36 -0
  77. data/vendor/prawn-core/examples/bounding_box/stretched_nesting.rb +67 -0
  78. data/vendor/prawn-core/examples/column_box/column_box_example.rb +43 -0
  79. data/vendor/prawn-core/examples/example_helper.rb +3 -0
  80. data/vendor/prawn-core/examples/general/background.rb +23 -0
  81. data/vendor/prawn-core/examples/general/canvas.rb +15 -0
  82. data/vendor/prawn-core/examples/general/margin.rb +36 -0
  83. data/vendor/prawn-core/examples/general/measurement_units.rb +51 -0
  84. data/vendor/prawn-core/examples/general/metadata-info.rb +16 -0
  85. data/vendor/prawn-core/examples/general/multi_page_layout.rb +18 -0
  86. data/vendor/prawn-core/examples/general/page_geometry.rb +31 -0
  87. data/vendor/prawn-core/examples/general/page_numbering.rb +15 -0
  88. data/vendor/prawn-core/examples/general/stamp.rb +45 -0
  89. data/vendor/prawn-core/examples/graphics/basic_images.rb +23 -0
  90. data/vendor/prawn-core/examples/graphics/cmyk.rb +12 -0
  91. data/vendor/prawn-core/examples/graphics/curves.rb +11 -0
  92. data/vendor/prawn-core/examples/graphics/hexagon.rb +13 -0
  93. data/vendor/prawn-core/examples/graphics/image_fit.rb +15 -0
  94. data/vendor/prawn-core/examples/graphics/image_flow.rb +37 -0
  95. data/vendor/prawn-core/examples/graphics/image_position.rb +17 -0
  96. data/vendor/prawn-core/examples/graphics/line.rb +32 -0
  97. data/vendor/prawn-core/examples/graphics/png_types.rb +22 -0
  98. data/vendor/prawn-core/examples/graphics/polygons.rb +16 -0
  99. data/vendor/prawn-core/examples/graphics/remote_images.rb +12 -0
  100. data/vendor/prawn-core/examples/graphics/ruport_style_helpers.rb +19 -0
  101. data/vendor/prawn-core/examples/graphics/stroke_bounds.rb +20 -0
  102. data/vendor/prawn-core/examples/graphics/stroke_cap_and_join.rb +45 -0
  103. data/vendor/prawn-core/examples/graphics/stroke_dash.rb +42 -0
  104. data/vendor/prawn-core/examples/graphics/transparency.rb +26 -0
  105. data/vendor/prawn-core/examples/m17n/chinese_text_wrapping.rb +19 -0
  106. data/vendor/prawn-core/examples/m17n/euro.rb +15 -0
  107. data/vendor/prawn-core/examples/m17n/sjis.rb +28 -0
  108. data/vendor/prawn-core/examples/m17n/utf8.rb +13 -0
  109. data/vendor/prawn-core/examples/m17n/win_ansi_charset.rb +54 -0
  110. data/vendor/prawn-core/examples/text/alignment.rb +18 -0
  111. data/vendor/prawn-core/examples/text/dfont.rb +48 -0
  112. data/vendor/prawn-core/examples/text/family_based_styling.rb +24 -0
  113. data/vendor/prawn-core/examples/text/font_calculations.rb +91 -0
  114. data/vendor/prawn-core/examples/text/font_size.rb +33 -0
  115. data/vendor/prawn-core/examples/text/kerning.rb +30 -0
  116. data/vendor/prawn-core/examples/text/simple_text.rb +17 -0
  117. data/vendor/prawn-core/examples/text/simple_text_ttf.rb +17 -0
  118. data/vendor/prawn-core/examples/text/span.rb +29 -0
  119. data/vendor/prawn-core/examples/text/text_box.rb +25 -0
  120. data/vendor/prawn-core/examples/text/text_box_returning_excess.rb +51 -0
  121. data/vendor/prawn-core/examples/text/text_flow.rb +67 -0
  122. data/vendor/prawn-core/lib/prawn/byte_string.rb +7 -0
  123. data/vendor/prawn-core/lib/prawn/compatibility.rb +38 -0
  124. data/vendor/prawn-core/lib/prawn/core.rb +85 -0
  125. data/vendor/prawn-core/lib/prawn/document.rb +534 -0
  126. data/vendor/prawn-core/lib/prawn/document/annotations.rb +65 -0
  127. data/vendor/prawn-core/lib/prawn/document/bounding_box.rb +390 -0
  128. data/vendor/prawn-core/lib/prawn/document/column_box.rb +102 -0
  129. data/vendor/prawn-core/lib/prawn/document/destinations.rb +92 -0
  130. data/vendor/prawn-core/lib/prawn/document/internals.rb +180 -0
  131. data/vendor/prawn-core/lib/prawn/document/page_geometry.rb +153 -0
  132. data/vendor/prawn-core/lib/prawn/document/snapshot.rb +71 -0
  133. data/vendor/prawn-core/lib/prawn/document/span.rb +55 -0
  134. data/vendor/prawn-core/lib/prawn/document/text.rb +184 -0
  135. data/vendor/prawn-core/lib/prawn/document/text/box.rb +90 -0
  136. data/vendor/prawn-core/lib/prawn/document/text/wrapping.rb +62 -0
  137. data/vendor/prawn-core/lib/prawn/encoding.rb +121 -0
  138. data/vendor/prawn-core/lib/prawn/errors.rb +61 -0
  139. data/vendor/prawn-core/lib/prawn/font.rb +297 -0
  140. data/vendor/prawn-core/lib/prawn/font/afm.rb +202 -0
  141. data/vendor/prawn-core/lib/prawn/font/dfont.rb +34 -0
  142. data/vendor/prawn-core/lib/prawn/font/ttf.rb +329 -0
  143. data/vendor/prawn-core/lib/prawn/graphics.rb +264 -0
  144. data/vendor/prawn-core/lib/prawn/graphics/cap_style.rb +35 -0
  145. data/vendor/prawn-core/lib/prawn/graphics/color.rb +141 -0
  146. data/vendor/prawn-core/lib/prawn/graphics/dash.rb +69 -0
  147. data/vendor/prawn-core/lib/prawn/graphics/join_style.rb +35 -0
  148. data/vendor/prawn-core/lib/prawn/graphics/transparency.rb +56 -0
  149. data/vendor/prawn-core/lib/prawn/images.rb +339 -0
  150. data/vendor/prawn-core/lib/prawn/images/jpg.rb +46 -0
  151. data/vendor/prawn-core/lib/prawn/images/png.rb +219 -0
  152. data/vendor/prawn-core/lib/prawn/literal_string.rb +14 -0
  153. data/vendor/prawn-core/lib/prawn/measurement_extensions.rb +46 -0
  154. data/vendor/prawn-core/lib/prawn/measurements.rb +71 -0
  155. data/vendor/prawn-core/lib/prawn/name_tree.rb +166 -0
  156. data/vendor/prawn-core/lib/prawn/object_store.rb +63 -0
  157. data/vendor/prawn-core/lib/prawn/pdf_object.rb +81 -0
  158. data/vendor/prawn-core/lib/prawn/reference.rb +72 -0
  159. data/vendor/prawn-core/lib/prawn/stamp.rb +87 -0
  160. data/vendor/prawn-core/meta/Rakefile +62 -0
  161. data/vendor/prawn-core/meta/lib/prawn.rb +2 -0
  162. data/vendor/prawn-core/reference_pdfs/alignment.pdf +229 -0
  163. data/vendor/prawn-core/reference_pdfs/background.pdf +0 -0
  164. data/vendor/prawn-core/reference_pdfs/basic_images.pdf +0 -0
  165. data/vendor/prawn-core/reference_pdfs/bounding_boxes.pdf +128 -0
  166. data/vendor/prawn-core/reference_pdfs/canvas.pdf +78 -0
  167. data/vendor/prawn-core/reference_pdfs/chinese_flow.pdf +0 -0
  168. data/vendor/prawn-core/reference_pdfs/cmyk.pdf +0 -0
  169. data/vendor/prawn-core/reference_pdfs/column_box.pdf +3671 -0
  170. data/vendor/prawn-core/reference_pdfs/curves.pdf +62 -0
  171. data/vendor/prawn-core/reference_pdfs/dfont.pdf +0 -0
  172. data/vendor/prawn-core/reference_pdfs/euro.pdf +75 -0
  173. data/vendor/prawn-core/reference_pdfs/family_style.pdf +286 -0
  174. data/vendor/prawn-core/reference_pdfs/flow.pdf +964 -0
  175. data/vendor/prawn-core/reference_pdfs/font_calculations.pdf +0 -0
  176. data/vendor/prawn-core/reference_pdfs/font_size.pdf +142 -0
  177. data/vendor/prawn-core/reference_pdfs/hexagon.pdf +61 -0
  178. data/vendor/prawn-core/reference_pdfs/image-flow.pdf +0 -0
  179. data/vendor/prawn-core/reference_pdfs/image_fit.pdf +0 -0
  180. data/vendor/prawn-core/reference_pdfs/image_position.pdf +0 -0
  181. data/vendor/prawn-core/reference_pdfs/indentation.pdf +124 -0
  182. data/vendor/prawn-core/reference_pdfs/kerning.pdf +0 -0
  183. data/vendor/prawn-core/reference_pdfs/landscape_a4.pdf +52 -0
  184. data/vendor/prawn-core/reference_pdfs/landscape_legal.pdf +52 -0
  185. data/vendor/prawn-core/reference_pdfs/landscape_letter.pdf +52 -0
  186. data/vendor/prawn-core/reference_pdfs/lines.pdf +116 -0
  187. data/vendor/prawn-core/reference_pdfs/margin.pdf +3850 -0
  188. data/vendor/prawn-core/reference_pdfs/measurement_units.pdf +4667 -0
  189. data/vendor/prawn-core/reference_pdfs/metadata-info.pdf +88 -0
  190. data/vendor/prawn-core/reference_pdfs/multi-layout.pdf +209 -0
  191. data/vendor/prawn-core/reference_pdfs/page_with_numbering.pdf +156 -0
  192. data/vendor/prawn-core/reference_pdfs/png_types.pdf +0 -0
  193. data/vendor/prawn-core/reference_pdfs/portrait_a4.pdf +52 -0
  194. data/vendor/prawn-core/reference_pdfs/portrait_legal.pdf +52 -0
  195. data/vendor/prawn-core/reference_pdfs/portrait_letter.pdf +52 -0
  196. data/vendor/prawn-core/reference_pdfs/pretty_polygons.pdf +122 -0
  197. data/vendor/prawn-core/reference_pdfs/remote_images.pdf +0 -0
  198. data/vendor/prawn-core/reference_pdfs/ruport.pdf +101 -0
  199. data/vendor/prawn-core/reference_pdfs/russian_boxes.pdf +2780 -0
  200. data/vendor/prawn-core/reference_pdfs/simple_text.pdf +136 -0
  201. data/vendor/prawn-core/reference_pdfs/simple_text_ttf.pdf +0 -0
  202. data/vendor/prawn-core/reference_pdfs/sjis.pdf +0 -0
  203. data/vendor/prawn-core/reference_pdfs/span.pdf +1975 -0
  204. data/vendor/prawn-core/reference_pdfs/stamp.pdf +696 -0
  205. data/vendor/prawn-core/reference_pdfs/stretched_nesting.pdf +200 -0
  206. data/vendor/prawn-core/reference_pdfs/stroke_bounds.pdf +135 -0
  207. data/vendor/prawn-core/reference_pdfs/stroke_cap_and_join.pdf +80 -0
  208. data/vendor/prawn-core/reference_pdfs/stroke_dash.pdf +457 -0
  209. data/vendor/prawn-core/reference_pdfs/text_box.pdf +315 -0
  210. data/vendor/prawn-core/reference_pdfs/text_box_returning_excess.pdf +271 -0
  211. data/vendor/prawn-core/reference_pdfs/transparency.pdf +347 -0
  212. data/vendor/prawn-core/reference_pdfs/utf8.pdf +0 -0
  213. data/vendor/prawn-core/reference_pdfs/win-ansi.pdf +6172 -0
  214. data/vendor/prawn-core/spec/annotations_spec.rb +90 -0
  215. data/vendor/prawn-core/spec/bounding_box_spec.rb +185 -0
  216. data/vendor/prawn-core/spec/destinations_spec.rb +15 -0
  217. data/vendor/prawn-core/spec/document_spec.rb +231 -0
  218. data/vendor/prawn-core/spec/font_spec.rb +273 -0
  219. data/vendor/prawn-core/spec/graphics_spec.rb +209 -0
  220. data/vendor/prawn-core/spec/images_spec.rb +79 -0
  221. data/vendor/prawn-core/spec/jpg_spec.rb +25 -0
  222. data/vendor/prawn-core/spec/measurement_units_spec.rb +23 -0
  223. data/vendor/prawn-core/spec/name_tree_spec.rb +112 -0
  224. data/vendor/prawn-core/spec/object_store_spec.rb +42 -0
  225. data/vendor/prawn-core/spec/pdf_object_spec.rb +122 -0
  226. data/vendor/prawn-core/spec/png_spec.rb +236 -0
  227. data/vendor/prawn-core/spec/reference_spec.rb +82 -0
  228. data/vendor/prawn-core/spec/snapshot_spec.rb +115 -0
  229. data/vendor/prawn-core/spec/span_spec.rb +45 -0
  230. data/vendor/prawn-core/spec/spec_helper.rb +20 -0
  231. data/vendor/prawn-core/spec/stamp_spec.rb +98 -0
  232. data/vendor/prawn-core/spec/stroke_styles_spec.rb +152 -0
  233. data/vendor/prawn-core/spec/text_box_spec.rb +109 -0
  234. data/vendor/prawn-core/spec/text_spec.rb +185 -0
  235. data/vendor/prawn-core/spec/transparency_spec.rb +61 -0
  236. data/vendor/prawn-core/vendor/pdf-inspector/README +18 -0
  237. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector.rb +26 -0
  238. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/extgstate.rb +18 -0
  239. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/graphics.rb +119 -0
  240. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/page.rb +25 -0
  241. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/text.rb +31 -0
  242. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/xobject.rb +19 -0
  243. data/vendor/prawn-core/vendor/ttfunk/data/fonts/DejaVuSans.ttf +0 -0
  244. data/vendor/prawn-core/vendor/ttfunk/data/fonts/comicsans.ttf +0 -0
  245. data/vendor/prawn-core/vendor/ttfunk/example.rb +45 -0
  246. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk.rb +102 -0
  247. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/directory.rb +17 -0
  248. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/mac_roman.rb +88 -0
  249. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/windows_1252.rb +69 -0
  250. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/reader.rb +44 -0
  251. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/resource_file.rb +78 -0
  252. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset.rb +18 -0
  253. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/base.rb +141 -0
  254. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/mac_roman.rb +46 -0
  255. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode.rb +48 -0
  256. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode_8bit.rb +63 -0
  257. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/windows_1252.rb +51 -0
  258. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset_collection.rb +72 -0
  259. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table.rb +46 -0
  260. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap.rb +34 -0
  261. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format00.rb +54 -0
  262. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format04.rb +126 -0
  263. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/subtable.rb +79 -0
  264. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf.rb +64 -0
  265. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/compound.rb +81 -0
  266. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/simple.rb +37 -0
  267. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/head.rb +44 -0
  268. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hhea.rb +41 -0
  269. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hmtx.rb +47 -0
  270. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern.rb +79 -0
  271. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern/format0.rb +62 -0
  272. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/loca.rb +43 -0
  273. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/maxp.rb +40 -0
  274. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/name.rb +119 -0
  275. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/os2.rb +78 -0
  276. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post.rb +91 -0
  277. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format10.rb +43 -0
  278. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format20.rb +35 -0
  279. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format25.rb +23 -0
  280. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format30.rb +17 -0
  281. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format40.rb +17 -0
  282. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/simple.rb +14 -0
  283. data/vendor/prawn-core/www/index.html +196 -0
  284. data/vendor/prawn-core/www/media/bounding_boxes.pdf +146 -0
  285. data/vendor/prawn-core/www/media/bounding_boxes.png +0 -0
  286. data/vendor/prawn-core/www/media/bounding_boxes_out.png +0 -0
  287. data/vendor/prawn-core/www/media/fancy_table.pdf +350 -0
  288. data/vendor/prawn-core/www/media/image.pdf +0 -0
  289. data/vendor/prawn-core/www/media/images.png +0 -0
  290. data/vendor/prawn-core/www/media/prawn_logo.png +0 -0
  291. data/vendor/prawn-core/www/media/tables.png +0 -0
  292. data/vendor/prawn-core/www/media/utf8.pdf +0 -0
  293. data/vendor/prawn-core/www/media/utf8.png +0 -0
  294. data/vendor/prawn-core/www/prawn-Chinese.html +113 -0
  295. data/vendor/prawn-core/www/prawn.css +86 -0
  296. data/vendor/prawn-core/www/twilight.css +266 -0
  297. metadata +291 -3
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+ #
3
+ # The very first Prawn example. Here for nostalgia's sake.
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ pdf = Prawn::Document.new
8
+ pdf.line_width = 10
9
+
10
+ [[100,741,100,641],
11
+ [100,691,150,691],
12
+ [150,741,150,641],
13
+ [200,741,200,641],
14
+ [100,600,100,500],
15
+ [100,600,150,550],
16
+ [100,550,150,550],
17
+ [175,600,175,500],
18
+ [175,600,225,550],
19
+ [175,550,225,550],
20
+ [175,550,225,500],
21
+ [275,600,250,500],
22
+ [275,600,300,500],
23
+ [250,550,300,550],
24
+ [315,600,350,500],
25
+ [350,500,365,550],
26
+ [365,550,380,500],
27
+ [380,500,415,600],
28
+ [430,600,430,500],
29
+ [430,600,465,500],
30
+ [465,600,465,500]].each { |points| pdf.stroke_line(*points) }
31
+
32
+ pdf.render_file "lines.pdf"
@@ -0,0 +1,22 @@
1
+ # encoding: utf-8
2
+ #
3
+ # PNG files come in different flavours - 5 of them. This example embeds
4
+ # one of each type as proof that they all work.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ images = [
9
+ ["Type 0", "#{Prawn::BASEDIR}/data/images/web-links.png"],
10
+ ["Type 2", "#{Prawn::BASEDIR}/data/images/ruport.png"],
11
+ ["Type 3", "#{Prawn::BASEDIR}/data/images/rails.png"],
12
+ ["Type 4", "#{Prawn::BASEDIR}/data/images/page_white_text.png"],
13
+ ["Type 6", "#{Prawn::BASEDIR}/data/images/dice.png"],
14
+ ]
15
+
16
+ Prawn::Document.generate("png_types.pdf", :page_size => "A5") do
17
+ images.each do |header, file|
18
+ start_new_page unless header.include?("0")
19
+ text header
20
+ image file, :at => [50,450]
21
+ end
22
+ end
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Basic polygon drawing example. See also: hexagon.rb
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ pdf = Prawn::Document.new
8
+
9
+ 10.times do |i|
10
+ pdf.stroke_polygon [ 50 + i*25, 50 + i*25],
11
+ [100 + i*25, 50 + i*25],
12
+ [100 + i*25, 100 + i*25]
13
+ pdf.stroke_rectangle [0,600], 5*i, 10*i
14
+ end
15
+
16
+ pdf.render_file "pretty_polygons.pdf"
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates how to use open-uri and Document#image to embed remote image
4
+ # files.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ require "open-uri"
9
+
10
+ Prawn::Document.generate("remote_images.pdf") do
11
+ image open("http://prawn.majesticseacreature.com/media/prawn_logo.png")
12
+ end
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+ #
3
+ # These helpers will be familiar to Ruport users, and now are supported
4
+ # directly in Prawn. Run the example to see how they work.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ # Demonstrates some features stolen from Ruport::Formatter::PDF
9
+ Prawn::Document.generate("ruport.pdf") do
10
+ move_down 50
11
+ # TODO: Figure out where to set the y cursor to.
12
+ stroke_horizontal_rule
13
+ text "Hi there"
14
+ pad(50) { text "I'm Padded" }
15
+ text "I'm far away"
16
+ stroke_horizontal_line 50, 100
17
+ stroke_horizontal_line 50, 100, :at => 300
18
+ stroke_vertical_line 300, 50, :at => 250
19
+ end
@@ -0,0 +1,20 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrates Document#stroke_bounds, which will stroke a rectange outlining
4
+ # the boundaries of the current bounding box. This is useful for debugging
5
+ # and can also be used as a light-weight and lower level alternative to
6
+ # Cells.
7
+ #
8
+ # Feature borrowed from Josh Knowle's pt at:
9
+ # http://github.com/joshknowles/pt/tree/master
10
+ #
11
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
12
+
13
+ Prawn::Document.generate("stroke_bounds.pdf") do
14
+ stroke_bounds
15
+
16
+ bounding_box [100,500], :width => 200, :height => 300 do
17
+ text "Hey there, here's some text. " * 10
18
+ stroke_bounds
19
+ end
20
+ end
@@ -0,0 +1,45 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Stroke dashing can be applied to any line or curve
4
+
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ Prawn::Document.generate("stroke_cap_and_join.pdf") do
8
+ self.line_width = 25
9
+ x0 = bounds.left + 100
10
+ x1 = bounds.left + 200
11
+ x2 = bounds.left + 300
12
+
13
+ y = bounds.top - 125
14
+
15
+ 3.times do |i|
16
+ case i
17
+ when 0
18
+ self.join_style = :miter
19
+ when 1
20
+ self.join_style = :round
21
+ when 2
22
+ self.join_style = :bevel
23
+ end
24
+ stroke do
25
+ move_to(x0, y)
26
+ line_to(x1, y + 100)
27
+ line_to(x2, y)
28
+ end
29
+ y -= 100
30
+ end
31
+
32
+
33
+ 3.times do |i|
34
+ case i
35
+ when 0
36
+ self.cap_style = :butt
37
+ when 1
38
+ self.cap_style = :round
39
+ when 2
40
+ self.cap_style = :projecting_square
41
+ end
42
+ stroke_line([x0, y, x2, y])
43
+ y -= 30
44
+ end
45
+ end
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Stroke dashing can be applied to any line or curve
4
+
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ Prawn::Document.generate("stroke_dash.pdf") do
8
+ self.line_width = 1
9
+ base_y = bounds.top
10
+
11
+ 100.times do |i|
12
+ length = i / 4 + 1
13
+ # space between dashes same length as dash
14
+ space = length
15
+ # start with dash
16
+ phase = 0
17
+ case i % 4
18
+ when 0
19
+ base_y -= 10
20
+ when 1
21
+ # start with space between dashes
22
+ phase = length
23
+ when 2
24
+ base_y -= 10
25
+ # space between dashes half as long as dash
26
+ space = length * 0.5
27
+ when 3
28
+ # space between dashes half as long as dash
29
+ space = length * 0.5
30
+ # start with space between dashes
31
+ phase = length
32
+ end
33
+ dash(length, :space => space, :phase => phase)
34
+ points = [bounds.left, base_y - 2 * i, bounds.right, base_y - 2 * i]
35
+ stroke_line(points)
36
+ end
37
+ i = 100
38
+ base_y -= 10
39
+ undash
40
+ points = [bounds.left, base_y - 2 * i, bounds.right, base_y - 2 * i]
41
+ stroke_line(points)
42
+ end
@@ -0,0 +1,26 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Demonstrate use of transparency
4
+ #
5
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
6
+
7
+ Prawn::Document.generate("transparency.pdf") do
8
+ fill_color("ff0000")
9
+ fill_circle_at([200, 200], :radius => 200)
10
+ transparent(0.5, 1) do
11
+ fill_color("000000")
12
+ stroke_color("ffffff")
13
+ fill_and_stroke_circle_at([300, 300], :radius => 200)
14
+ fill_color("ffffff")
15
+ text "transparency " * 150, :size => 18
16
+ end
17
+
18
+ start_new_page
19
+
20
+ fill_color("000000")
21
+ fill_rectangle([0, bounds.top], 200, 100)
22
+ transparent(0.5) do
23
+ fill_color("ff0000")
24
+ fill_rectangle([100, bounds.top - 50], 200, 100)
25
+ end
26
+ end
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Some text is not usefully wrapped by our naive_wrap which depends on
4
+ # spaces. This example shows how to wrap by character instead.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ start = Time.now
9
+ Prawn::Document.generate("chinese_flow.pdf") do
10
+ font "#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf"
11
+ font_size 16
12
+
13
+ long_text = "更可怕的是,同质化竞争对手可以按照URL中后面这个ID来遍历您的DB中的内容,写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事,这样的话,你就非常被动了。写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事"
14
+ text long_text, :wrap => :character
15
+
16
+ # be sure to restore space based wrapping when dealing with latin scripts
17
+ long_text = "Text with some spaces " * 25
18
+ text long_text
19
+ end
@@ -0,0 +1,15 @@
1
+ # encoding: utf-8
2
+ #
3
+ # As of Prawn 0.3, it is possible to generate a Euro using the built-in
4
+ # AFM files. However, you need to be sure to manually add spacing around it,
5
+ # as its calculated width in the AFM files seem to be wrong.
6
+ #
7
+ # We are investigating this issue, but it does not seem to be Prawn specific.
8
+ # If you need precision spacing, use a TTF file instead and the issue will
9
+ # go away.
10
+ #
11
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
12
+
13
+ Prawn::Document.generate "euro.pdf" do
14
+ text "A Euro! € ©", :size => 32
15
+ end
@@ -0,0 +1,28 @@
1
+ # encoding: utf-8
2
+ #
3
+ # FIXME: Introducing TTFunk into Prawn broke this example and a cooresponding
4
+ # test. Ticket: #139
5
+ #
6
+ # Tests passing non utf-8 data into Prawns text function. Should
7
+ # be transparently converted to utf-8 and rendered as usual.
8
+ #
9
+ # NOTE: only works on ruby1.9 compatible VMs, and requires the current
10
+ # font to include japanese glyphs. On 1.8.x comaptible VMs, an exception
11
+ # will be raised.
12
+
13
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
14
+
15
+ begin
16
+ ruby_19 do
17
+ datafile = File.join(File.dirname(__FILE__), "..", "..", "data",
18
+ "shift_jis_text.txt")
19
+ sjis_str = File.open(datafile, "r:shift_jis") { |f| f.gets }
20
+
21
+ Prawn::Document.generate("sjis.pdf") do
22
+ font "#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf"
23
+ text sjis_str
24
+ end
25
+ end
26
+ rescue
27
+ puts "\n FIXME: SJIS Broken due to TTFunk integration."
28
+ end
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Shows that Prawn works out of the box with UTF-8 text, so long as you use
4
+ # a TTF file with the necessary glyphs for your content.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ Prawn::Document.generate("utf8.pdf") do
9
+ font "#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf"
10
+ text "ὕαλον ϕαγεῖν δύναμαι· τοῦτο οὔ με βλάπτει." * 20
11
+ end
12
+
13
+
@@ -0,0 +1,54 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Prints a list of all of the glyphs that can be rendered by Adobe's built
4
+ # in fonts, along with their character widths and WinAnsi codes. Be sure
5
+ # to pass these glyphs as UTF-8, and Prawn will transcode them for you.
6
+ #
7
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
8
+
9
+ FONT_SIZE = 9.5
10
+
11
+ Prawn::Document.generate("win-ansi.pdf") do
12
+ @skip_encoding = true
13
+
14
+ x = 0
15
+ y = bounds.top
16
+
17
+ fields = [[20, :right], [8, :left], [12, :center], [30, :right], [8, :left], [0, :left]]
18
+
19
+ font "Helvetica", :size => FONT_SIZE
20
+
21
+ Prawn::Encoding::WinAnsi::CHARACTERS.each_with_index do |name, index|
22
+ next if name == ".notdef"
23
+ y -= FONT_SIZE
24
+
25
+ if y < FONT_SIZE
26
+ y = bounds.top - FONT_SIZE
27
+ x += 170
28
+ end
29
+
30
+ code = "%d." % index
31
+ char = index.chr
32
+
33
+ width = 1000 * width_of(char, :size => FONT_SIZE) / FONT_SIZE
34
+ size = "%d" % width
35
+
36
+ data = [code, nil, char, size, nil, name]
37
+ dx = x
38
+ fields.zip(data).each do |(total_width, align), field|
39
+ if field
40
+ width = width_of(field, :size => FONT_SIZE)
41
+
42
+ case align
43
+ when :left then offset = 0
44
+ when :right then offset = total_width - width
45
+ when :center then offset = (total_width - width)/2
46
+ end
47
+
48
+ text(field, :at => [dx + offset, y])
49
+ end
50
+
51
+ dx += total_width
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+ #
3
+ # This example demonstrates usage of Document#text with the :align option.
4
+ # Available options are :left, :right, and :center, with :left as default.
5
+ #
6
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
7
+
8
+ Prawn::Document.generate("alignment.pdf") do
9
+ text "This text should be left aligned"
10
+ text "This text should be centered", :align => :center
11
+ text "This text should be right aligned", :align => :right
12
+
13
+ pad(20) { text "This is Flowing from the left. " * 20 }
14
+
15
+ pad(20) { text "This is Flowing from the center. " * 20, :align => :center }
16
+
17
+ pad(20) { text "This is Flowing from the right. " * 20, :align => :right }
18
+ end
@@ -0,0 +1,48 @@
1
+ # encoding: utf-8
2
+
3
+ require "#{File.dirname(__FILE__)}/../example_helper.rb"
4
+
5
+ DFONT_FILE = "#{Prawn::BASEDIR}/data/fonts/Action Man.dfont"
6
+ puts "There are #{Prawn::Font::DFont.font_count(DFONT_FILE)} fonts in #{DFONT_FILE}:"
7
+ Prawn::Font::DFont.named_fonts(DFONT_FILE).each do |name|
8
+ puts "* #{name}"
9
+ end
10
+
11
+ puts
12
+ puts "generating sample document in 'dfont.pdf'..."
13
+
14
+ Prawn::Document.generate "dfont.pdf" do
15
+ fill_color "0000ff"
16
+
17
+ font DFONT_FILE, :font => "ActionMan-Bold", :size => 24
18
+ text "Introducing Action Man!"
19
+
20
+ move_text_position 24
21
+
22
+ font_families["Action Man"] = {
23
+ :normal => { :file => DFONT_FILE, :font => "ActionMan" },
24
+ :bold => { :file => DFONT_FILE, :font => "ActionMan-Bold" },
25
+ :italic => { :file => DFONT_FILE, :font => "ActionMan-Italic" },
26
+ :bold_italic => { :file => DFONT_FILE, :font => "ActionMan-BoldItalic" }
27
+ }
28
+
29
+ font "Action Man", :size => 16
30
+ text "Action Man is feeling normal here."
31
+
32
+ move_text_position 16
33
+
34
+ font "Action Man", :style => :bold, :size => 16
35
+ text "Action Man is feeling bold here!"
36
+
37
+ move_text_position 16
38
+
39
+ font "Action Man", :style => :italic, :size => 16
40
+ text "Here, we see Action Man feeling italicized. Slick!"
41
+
42
+ move_text_position 16
43
+
44
+ font "Action Man", :style => :bold_italic, :size => 16
45
+ text "Lastly, we observe Mr. Action Man being bold AND italicized. Excellent!"
46
+ end
47
+
48
+ puts "done"