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,71 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # snapshot.rb : Implements transactional rendering for Prawn
4
- #
5
- # Copyright August 2008, Brad Ediger. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
- require 'delegate'
9
-
10
- module Prawn
11
- class Document
12
- module Snapshot
13
-
14
- RollbackTransaction = Class.new(StandardError)
15
-
16
- # Call this within a +transaction+ block to roll back the transaction and
17
- # prevent any of its data from being rendered. You must reset the
18
- # y-position yourself if you have performed any drawing operations that
19
- # modify it.
20
- def rollback
21
- raise RollbackTransaction
22
- end
23
-
24
- # Run a block of drawing operations, to be completed atomically. If
25
- # +rollback+ is called or a RollbackTransaction exception is raised
26
- # inside the block, all actions taken inside the block will be rolled
27
- # back (with the exception of y-position, which you must restore
28
- # yourself).
29
- #
30
- # Returns true on success, or false if the transaction was rolled back.
31
- def transaction
32
- snap = take_snapshot
33
- yield
34
- true
35
- rescue RollbackTransaction
36
- restore_snapshot(snap)
37
- false
38
- end
39
-
40
- private
41
-
42
- # Takes a current snapshot of the document's state, sufficient to
43
- # reconstruct it after it was amended.
44
- def take_snapshot
45
- {:page_content => Marshal.load(Marshal.dump(page_content)),
46
- :current_page => Marshal.load(Marshal.dump(current_page)),
47
- :page_kids => @store.pages.data[:Kids].map{|kid| kid.identifier},
48
- :dests => Marshal.load(Marshal.dump(names.data[:Dests]))}
49
- end
50
-
51
- # Rolls the page state back to the state of the given snapshot.
52
- def restore_snapshot(shot)
53
- # Because these objects are referenced by identifier from the Pages
54
- # dictionary, we can't just restore them over the current refs in
55
- # page_content and current_page. We have to restore them over the old
56
- # ones.
57
- @page_content = shot[:page_content].identifier
58
- page_content.replace shot[:page_content]
59
-
60
- @current_page = shot[:current_page].identifier
61
- current_page.replace shot[:current_page]
62
-
63
- @store.pages.data[:Kids] = shot[:page_kids].map{|id| @store[id]}
64
- @store.pages.data[:Count] = shot[:page_kids].size
65
-
66
- names.data[:Dests] = shot[:dests]
67
- end
68
-
69
- end
70
- end
71
- end
@@ -1,55 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # span.rb : Implements text columns
4
- #
5
- # Copyright September 2008, Gregory Brown. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
-
9
- module Prawn
10
- class Document
11
- # A span is a special purpose bounding box that allows a column of
12
- # elements to be positioned relative to the margin_box.
13
- #
14
- # Arguments:
15
- # +width+:: The width of the column in PDF points
16
- #
17
- # Options:
18
- # <tt>:position</tt>:: One of :left, :center, :right or an x offset
19
- #
20
- # This method is typically used for flowing a column of text from one
21
- # page to the next.
22
- #
23
- # span(350, :position => :center) do
24
- # text "Here's some centered text in a 350 point column. " * 100
25
- # end
26
- #
27
- def span(width, options={})
28
- Prawn.verify_options [:position], options
29
- original_position = self.y
30
-
31
- # FIXME: How many effing times do I want to write this same code?
32
- left_boundary = case(options[:position] || :left)
33
- when :left
34
- margin_box.absolute_left
35
- when :center
36
- margin_box.absolute_left + margin_box.width / 2.0 - width /2.0
37
- when :right
38
- margin_box.absolute_right - width
39
- when Numeric
40
- margin_box.absolute_left + options[:position]
41
- else
42
- raise ArgumentError, "Invalid option for :position"
43
- end
44
-
45
- # we need to bust out of whatever nested bounding boxes we're in.
46
- canvas do
47
- bounding_box([left_boundary,
48
- margin_box.absolute_top], :width => width) do
49
- self.y = original_position
50
- yield
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,184 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # text.rb : Implements PDF text primitives
4
- #
5
- # Copyright May 2008, Gregory Brown. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
- require "zlib"
9
- require "prawn/document/text/box"
10
- require "prawn/document/text/wrapping"
11
-
12
- module Prawn
13
- class Document
14
- module Text
15
- include Wrapping
16
-
17
- # Draws text on the page. If a point is specified via the +:at+
18
- # option the text will begin exactly at that point, and the string is
19
- # assumed to be pre-formatted to properly fit the page.
20
- #
21
- # pdf.text "Hello World", :at => [100,100]
22
- # pdf.text "Goodbye World", :at => [50,50], :size => 16
23
- #
24
- # When +:at+ is not specified, Prawn attempts to wrap the text to
25
- # fit within your current bounding box (or margin_box if no bounding box
26
- # is being used ). Text will flow onto the next page when it reaches
27
- # the bottom of the bounding box. Text wrap in Prawn does not re-flow
28
- # linebreaks, so if you want fully automated text wrapping, be sure to
29
- # remove newlines before attempting to draw your string.
30
- #
31
- # pdf.text "Will be wrapped when it hits the edge of your bounding box"
32
- # pdf.text "This will be centered", :align => :center
33
- # pdf.text "This will be right aligned", :align => :right
34
- #
35
- # Wrapping is done by splitting words by spaces by default. If your text
36
- # does not contain spaces, you can wrap based on characters instead:
37
- #
38
- # pdf.text "This will be wrapped by character", :wrap => :character
39
- #
40
- # If your font contains kerning pairs data that Prawn can parse, the
41
- # text will be kerned by default. You can disable this feature by passing
42
- # <tt>:kerning => false</tt>.
43
- #
44
- # === Text Positioning Details:
45
- #
46
- # When using the :at parameter, Prawn will position your text by the
47
- # left-most edge of its baseline, and flow along a single line. (This
48
- # means that :align will not work)
49
- #
50
- #
51
- # Otherwise, the text is positioned at font.ascender below the baseline,
52
- # making it easy to use this method within bounding boxes and spans.
53
- #
54
- # == Rotation
55
- #
56
- # Text can be rotated before it is placed on the canvas by specifying the
57
- # +:rotate+ option with a given angle. Rotation occurs counter-clockwise.
58
- #
59
- # == Encoding
60
- #
61
- # Note that strings passed to this function should be encoded as UTF-8.
62
- # If you get unexpected characters appearing in your rendered document,
63
- # check this.
64
- #
65
- # If the current font is a built-in one, although the string must be
66
- # encoded as UTF-8, only characters that are available in WinAnsi
67
- # are allowed.
68
- #
69
- # If an empty box is rendered to your PDF instead of the character you
70
- # wanted it usually means the current font doesn't include that character.
71
- #
72
- def text(text,options={})
73
- # we'll be messing with the strings encoding, don't change the users
74
- # original string
75
- text = text.to_s.dup
76
-
77
- save_font do
78
- options = @text_options.merge(options)
79
- process_text_options(options)
80
-
81
- font.normalize_encoding!(text) unless @skip_encoding
82
-
83
- if options[:at]
84
-
85
- if options[:align]
86
- raise ArgumentError, "The :align option does not work with :at"
87
- end
88
-
89
- x,y = translate(options[:at])
90
- font_size(options[:size]) { add_text_content(text,x,y,options) }
91
- else
92
- if options[:rotate]
93
- raise ArgumentError, "Rotated text may only be used with :at"
94
- end
95
- wrapped_text(text,options)
96
- end
97
- end
98
- end
99
-
100
- private
101
-
102
- def process_text_options(options)
103
- Prawn.verify_options [:style, :kerning, :size, :at, :wrap,
104
- :leading, :align, :rotate, :final_gap ], options
105
-
106
- if options[:style]
107
- raise "Bad font family" unless font.family
108
- font(font.family,:style => options[:style])
109
- end
110
-
111
- unless options.key?(:kerning)
112
- options[:kerning] = font.has_kerning_data?
113
- end
114
-
115
- options[:size] ||= font_size
116
- end
117
-
118
- def move_text_position(dy)
119
- bottom = @bounding_box.stretchy? ? @margin_box.absolute_bottom :
120
- @bounding_box.absolute_bottom
121
-
122
- @bounding_box.move_past_bottom if (y - dy) < bottom
123
-
124
- self.y -= dy
125
- end
126
-
127
- def wrapped_text(text,options)
128
- options[:align] ||= :left
129
-
130
- font_size(options[:size]) do
131
- text = naive_wrap(text, bounds.width, font_size,
132
- :kerning => options[:kerning], :mode => options[:wrap])
133
-
134
- lines = text.lines.to_a
135
- last_gap_before = options.fetch(:final_gap, true) ? lines.length : lines.length-1
136
-
137
- lines.each_with_index do |e,i|
138
- move_text_position(font.ascender)
139
-
140
- line_width = width_of(e, :kerning => options[:kerning])
141
- case(options[:align])
142
- when :left
143
- x = @bounding_box.left_side
144
- when :center
145
- x = @bounding_box.left_side +
146
- (@bounding_box.width - line_width) / 2.0
147
- when :right
148
- x = @bounding_box.right_side - line_width
149
- end
150
-
151
- add_text_content(e,x,y,options)
152
-
153
- if i < last_gap_before
154
- move_text_position(font.line_gap - font.descender)
155
- move_text_position(options[:leading]) if options[:leading]
156
- end
157
- end
158
- end
159
- end
160
-
161
- def add_text_content(text, x, y, options)
162
- chunks = font.encode_text(text,options)
163
-
164
- add_content "\nBT"
165
- if options[:rotate]
166
- rad = options[:rotate].to_i * Math::PI / 180
167
- arr = [ Math.cos(rad), Math.sin(rad), -Math.sin(rad), Math.cos(rad), x, y ]
168
- add_content "%.3f %.3f %.3f %.3f %.3f %.3f Tm" % arr
169
- else
170
- add_content "#{x} #{y} Td"
171
- end
172
-
173
- chunks.each do |(subset, string)|
174
- font.add_to_current_page(subset)
175
- add_content "/#{font.identifier_for(subset)} #{font_size} Tf"
176
-
177
- operation = options[:kerning] && string.is_a?(Array) ? "TJ" : "Tj"
178
- add_content Prawn::PdfObject(string, true) << " " << operation
179
- end
180
- add_content "ET\n"
181
- end
182
- end
183
- end
184
- end
@@ -1,90 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # text/box.rb : Implements simple text boxes
4
- #
5
- # Copyright September 2008, Gregory Brown. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
-
9
- module Prawn
10
- class Document
11
-
12
- # Defines an invisible rectangle which you can flow text in. When the
13
- # text overflows the box, you can either display :ellipses, :truncate
14
- # the text, or allow it to overflow the bottom boundary with :expand.
15
- #
16
- # text_box "Oh hai text box. " * 200,
17
- # :width => 300, :height => font.height * 5,
18
- # :overflow => :ellipses,
19
- # :at => [100,bounds.top]
20
- #
21
- def text_box(text,options)
22
- Text::Box.new(text, options.merge(:for => self)).render
23
- end
24
-
25
- module Text
26
- # FIXME: requires documentation
27
- #
28
- class Box #:nodoc:
29
- def initialize(text,options={})
30
- @document = options[:for]
31
- @text = text
32
- @at = options[:at] || [0, @document.y - @document.bounds.absolute_bottom]
33
- @width = options[:width] || @document.bounds.width
34
- @height = options[:height]
35
- @overflow = options[:overflow] || :truncate
36
- end
37
-
38
- attr_reader :text, :width, :height, :overflow
39
-
40
- def render
41
- x,y = @at
42
-
43
- if @overflow == :expand
44
- @text = naive_wrap_text
45
- else
46
- original_y = @document.y
47
- fit_text_to_box
48
- end
49
-
50
- @document.bounding_box([x,@document.bounds.top],
51
- :width => @width, :height => @document.bounds.height) do
52
- @document.y = @document.bounds.absolute_bottom + y
53
- @document.text @text
54
- end
55
-
56
- unless @overflow == :expand
57
- @document.y = y + @document.bounds.absolute_bottom - @height
58
- end
59
-
60
- @excess_text
61
- end
62
-
63
- private
64
-
65
- def fit_text_to_box
66
- text = naive_wrap_text
67
-
68
- max_lines = (@height / @document.font.height).floor
69
-
70
- lines = text.lines.to_a
71
-
72
- if lines.length > max_lines
73
- @text = lines[0...max_lines].join
74
- case(@overflow)
75
- when :ellipses
76
- @text[-3..-1] = "..." if @text.size > 3
77
- end
78
- @excess_text = @document.naive_unwrap(lines[max_lines..-1].join)
79
- else
80
- @excess_text = ""
81
- end
82
- end
83
-
84
- def naive_wrap_text
85
- @document.naive_wrap(@text, @width, @document.font_size)
86
- end
87
- end
88
- end
89
- end
90
- end
@@ -1,62 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # wrapping.rb : Implementation of naive text wrap
4
- #
5
- # Copyright May 2008, Michael Daines. All Rights Reserved.
6
- #
7
- # This is free software. Please see the LICENSE and COPYING files for details.
8
- module Prawn
9
- class Document
10
- module Text
11
- module Wrapping #:nodoc:
12
- ruby_18 { $KCODE="U" }
13
-
14
- # Gets height of text in PDF points at current font size.
15
- # Text +:line_width+ must be specified in PDF points.
16
- #
17
- # If using an AFM, string *must* be encoded as WinAnsi
18
- # (Use normalize_encoding to convert)
19
- #
20
- def height_of(string, line_width, size=font_size)
21
- string = naive_wrap(string, line_width, size)
22
- string.lines.to_a.length * font.height_at(size)
23
- end
24
-
25
- # TODO: Replace with TeX optimal algorithm
26
- def naive_wrap(string, line_width, font_size, options = {})
27
- scan_pattern = options[:mode] == :character ? /./ : /\S+|\s+/
28
-
29
- output = ""
30
- string.lines.each do |line|
31
- accumulated_width = 0
32
- segments = line.scan(scan_pattern)
33
-
34
- segments.each do |segment|
35
- segment_width = width_of(segment, :size => font_size, :kerning => options[:kerning])
36
-
37
- if (accumulated_width + segment_width).round > line_width.round
38
- output = "#{output.sub(/[ \t]*\n?(\n*)\z/, "\n\\1")}"
39
-
40
- if segment =~ /\s/
41
- accumulated_width = 0
42
- else
43
- output << segment
44
- accumulated_width = segment_width
45
- end
46
- else
47
- output << segment
48
- accumulated_width += segment_width
49
- end
50
- end
51
- end
52
-
53
- output
54
- end
55
-
56
- def naive_unwrap(string)
57
- string.gsub(/(\S)\n/, '\1 ')
58
- end
59
- end
60
- end
61
- end
62
- end