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,81 +0,0 @@
1
- require 'ttfunk/reader'
2
-
3
- module TTFunk
4
- class Table
5
- class Glyf
6
- class Compound
7
- include Reader
8
-
9
- ARG_1_AND_2_ARE_WORDS = 0x0001
10
- WE_HAVE_A_SCALE = 0x0008
11
- MORE_COMPONENTS = 0x0020
12
- WE_HAVE_AN_X_AND_Y_SCALE = 0x0040
13
- WE_HAVE_A_TWO_BY_TWO = 0x0080
14
- WE_HAVE_INSTRUCTIONS = 0x0100
15
-
16
- attr_reader :raw
17
- attr_reader :x_min, :y_min, :x_max, :y_max
18
- attr_reader :glyph_ids
19
-
20
- Component = Struct.new(:flags, :glyph_index, :arg1, :arg2, :transform)
21
-
22
- def initialize(raw, x_min, y_min, x_max, y_max)
23
- @raw = raw
24
- @x_min, @y_min, @x_max, @y_max = x_min, y_min, x_max, y_max
25
-
26
- # Because TTFunk only cares about glyphs insofar as they (1) provide
27
- # a bounding box for each glyph, and (2) can be rewritten into a
28
- # font subset, we don't really care about the rest of the glyph data
29
- # except as a whole. Thus, we don't actually decompose the glyph
30
- # into it's parts--all we really care about are the locations within
31
- # the raw string where the component glyph ids are stored, so that
32
- # when we rewrite this glyph into a subset we can rewrite the
33
- # component glyph-ids so they are correct for the subset.
34
-
35
- @glyph_ids = []
36
- @glyph_id_offsets = []
37
- offset = 10 # 2 bytes for each of num-contours, min x/y, max x/y
38
-
39
- loop do
40
- flags, glyph_id = @raw[offset, 4].unpack("n*")
41
- @glyph_ids << glyph_id
42
- @glyph_id_offsets << offset + 2
43
-
44
- break unless flags & MORE_COMPONENTS != 0
45
- offset += 4
46
-
47
- if flags & ARG_1_AND_2_ARE_WORDS != 0
48
- offset += 4
49
- else
50
- offset += 2
51
- end
52
-
53
- if flags & WE_HAVE_A_TWO_BY_TWO != 0
54
- offset += 8
55
- elsif flags & WE_HAVE_AN_X_AND_Y_SCALE != 0
56
- offset += 4
57
- elsif flags & WE_HAVE_A_SCALE != 0
58
- offset += 2
59
- end
60
- end
61
- end
62
-
63
- def compound?
64
- true
65
- end
66
-
67
- def recode(mapping)
68
- result = @raw.dup
69
- new_ids = glyph_ids.map { |id| mapping[id] }
70
-
71
- new_ids.zip(@glyph_id_offsets).each do |new_id, offset|
72
- result[offset, 2] = [new_id].pack("n")
73
- end
74
-
75
- return result
76
- end
77
- end
78
- end
79
- end
80
- end
81
-
@@ -1,37 +0,0 @@
1
- require 'ttfunk/reader'
2
-
3
- module TTFunk
4
- class Table
5
- class Glyf
6
- class Simple
7
- attr_reader :raw
8
- attr_reader :number_of_contours
9
- attr_reader :x_min, :y_min, :x_max, :y_max
10
-
11
- def initialize(raw, number_of_contours, x_min, y_min, x_max, y_max)
12
- @raw = raw
13
- @number_of_contours = number_of_contours
14
- @x_min, @y_min = x_min, y_min
15
- @x_max, @y_max = x_max, y_max
16
-
17
- # Because TTFunk is, at this time, a library for simply pulling
18
- # metrics out of font files, or for writing font subsets, we don't
19
- # really care what the contours are for simple glyphs. We just
20
- # care that we've got an entire glyph's definition. Also, a
21
- # bounding box could be nice to know. Since we've got all that
22
- # at this point, we don't need to worry about parsing the full
23
- # contents of the glyph.
24
- end
25
-
26
- def compound?
27
- false
28
- end
29
-
30
- def recode(mapping)
31
- raw
32
- end
33
- end
34
- end
35
- end
36
- end
37
-
@@ -1,44 +0,0 @@
1
- require 'ttfunk/table'
2
-
3
- module TTFunk
4
- class Table
5
- class Head < TTFunk::Table
6
- attr_reader :version
7
- attr_reader :font_revision
8
- attr_reader :checksum_adjustment
9
- attr_reader :magic_number
10
- attr_reader :flags
11
- attr_reader :units_per_em
12
- attr_reader :created
13
- attr_reader :modified
14
- attr_reader :x_min
15
- attr_reader :y_min
16
- attr_reader :x_max
17
- attr_reader :y_max
18
- attr_reader :mac_style
19
- attr_reader :lowest_rec_ppem
20
- attr_reader :font_direction_hint
21
- attr_reader :index_to_loc_format
22
- attr_reader :glyph_data_format
23
-
24
- def self.encode(head, loca)
25
- table = head.raw
26
- table[8,4] = "\0\0\0\0" # set checksum adjustment to 0 initially
27
- table[-4,2] = [loca[:type]].pack("n") # set index_to_loc_format
28
- return table
29
- end
30
-
31
- private
32
-
33
- def parse!
34
- @version, @font_revision, @check_sum_adjustment, @magic_number,
35
- @flags, @units_per_em, @created, @modified = read(36, "N4n2q2")
36
-
37
- @x_min, @y_min, @x_max, @y_max = read_signed(4)
38
-
39
- @mac_style, @lowest_rec_ppem, @font_direction_hint,
40
- @index_to_loc_format, @glyph_data_format = read(10, "n*")
41
- end
42
- end
43
- end
44
- end
@@ -1,41 +0,0 @@
1
- require 'ttfunk/table'
2
-
3
- module TTFunk
4
- class Table
5
- class Hhea < Table
6
- attr_reader :version
7
- attr_reader :ascent
8
- attr_reader :descent
9
- attr_reader :line_gap
10
- attr_reader :advance_width_max
11
- attr_reader :min_left_side_bearing
12
- attr_reader :min_right_side_bearing
13
- attr_reader :x_max_extent
14
- attr_reader :carot_slope_rise
15
- attr_reader :carot_slope_run
16
- attr_reader :metric_data_format
17
- attr_reader :number_of_metrics
18
-
19
- def self.encode(hhea, hmtx)
20
- raw = hhea.raw
21
- raw[-2,2] = [hmtx[:number_of_metrics]].pack("n")
22
- return raw
23
- end
24
-
25
- private
26
-
27
- def parse!
28
- @version = read(4, "N").first
29
- @ascent, @descent, @line_gap = read_signed(3)
30
- @advance_width_max = read(2, "n").first
31
-
32
- @min_left_side_bearing, @min_right_side_bearing, @x_max_extent,
33
- @carot_slope_rise, @carot_slope_run, @caret_offset,
34
- reserved, reserved, reserved, reserved,
35
- @metric_data_format = read_signed(11)
36
-
37
- @number_of_metrics = read(2, "n").first
38
- end
39
- end
40
- end
41
- end
@@ -1,47 +0,0 @@
1
- require 'ttfunk/table'
2
-
3
- module TTFunk
4
- class Table
5
- class Hmtx < Table
6
- attr_reader :metrics
7
- attr_reader :left_side_bearings
8
- attr_reader :widths
9
-
10
- def self.encode(hmtx, mapping)
11
- metrics = mapping.keys.sort.map do |new_id|
12
- metric = hmtx.for(mapping[new_id])
13
- [metric.advance_width, metric.left_side_bearing]
14
- end
15
-
16
- { :number_of_metrics => metrics.length,
17
- :table => metrics.flatten.pack("n*") }
18
- end
19
-
20
- HorizontalMetric = Struct.new(:advance_width, :left_side_bearing)
21
-
22
- def for(glyph_id)
23
- @metrics[glyph_id] ||
24
- HorizontalMetric.new(@metrics.last.advance_width,
25
- @left_side_bearings[glyph_id - @metrics.length])
26
- end
27
-
28
- private
29
-
30
- def parse!
31
- @metrics = []
32
-
33
- file.horizontal_header.number_of_metrics.times do
34
- advance = read(2, "n").first
35
- lsb = read_signed(1).first
36
- @metrics.push HorizontalMetric.new(advance, lsb)
37
- end
38
-
39
- lsb_count = file.maximum_profile.num_glyphs - file.horizontal_header.number_of_metrics
40
- @left_side_bearings = read_signed(lsb_count)
41
-
42
- @widths = @metrics.map { |metric| metric.advance_width }
43
- @widths += [@widths.last] * @left_side_bearings.length
44
- end
45
- end
46
- end
47
- end
@@ -1,79 +0,0 @@
1
- require 'ttfunk/table'
2
-
3
- module TTFunk
4
- class Table
5
- class Kern < Table
6
- attr_reader :version
7
- attr_reader :tables
8
-
9
- def self.encode(kerning, mapping)
10
- return nil unless kerning.exists? && kerning.tables.any?
11
- tables = kerning.tables.map { |table| table.recode(mapping) }.compact
12
- return nil if tables.empty?
13
-
14
- [0, tables.length, tables.join].pack("nnA*")
15
- end
16
-
17
- private
18
-
19
- def parse!
20
- @version, num_tables = read(4, "n*")
21
- @tables = []
22
-
23
- if @version == 1 # Mac OS X fonts
24
- @version = (@version << 16) + num_tables
25
- num_tables = read(4, "N").first
26
- parse_version_1_tables(num_tables)
27
- else
28
- parse_version_0_tables(num_tables)
29
- end
30
- end
31
-
32
- def parse_version_0_tables(num_tables)
33
- # It looks like some MS fonts report their kerning subtable lengths
34
- # wrong. In one case, the length was reported to be some 19366, and yet
35
- # the table also claimed to hold 14148 pairs (each pair consisting of 6 bytes).
36
- # You do the math!
37
- #
38
- # We're going to assume that the microsoft fonts hold only a single kerning
39
- # subtable, which occupies the entire length of the kerning table. Worst
40
- # case, we lose any other subtables that the font contains, but it's better
41
- # than reading a truncated kerning table.
42
- #
43
- # And what's more, it appears to work. So.
44
- version, length, coverage = read(6, "n*")
45
- format = coverage >> 8
46
-
47
- add_table format, :version => version, :length => length,
48
- :coverage => coverage, :data => raw[10..-1],
49
- :vertical => (coverage & 0x1 == 0),
50
- :minimum => (coverage & 0x2 != 0),
51
- :cross => (coverage & 0x4 != 0),
52
- :override => (coverage & 0x8 != 0)
53
- end
54
-
55
- def parse_version_1_tables(num_tables)
56
- num_tables.times do
57
- length, coverage, tuple_index = read(8, "Nnn")
58
- format = coverage & 0x0FF
59
-
60
- add_table format, :length => length, :coverage => coverage,
61
- :tuple_index => tuple_index, :data => io.read(length-8),
62
- :vertical => (coverage & 0x8000 != 0),
63
- :cross => (coverage & 0x4000 != 0),
64
- :variation => (coverage & 0x2000 != 0)
65
- end
66
- end
67
-
68
- def add_table(format, attributes={})
69
- if format == 0
70
- @tables << Kern::Format0.new(attributes)
71
- else
72
- # silently ignore unsupported kerning tables
73
- end
74
- end
75
- end
76
- end
77
- end
78
-
79
- require 'ttfunk/table/kern/format0'
@@ -1,62 +0,0 @@
1
- require 'ttfunk/reader'
2
-
3
- module TTFunk
4
- class Table
5
- class Kern
6
- class Format0
7
- include Reader
8
-
9
- attr_reader :attributes
10
- attr_reader :pairs
11
-
12
- def initialize(attributes={})
13
- @attributes = attributes
14
-
15
- num_pairs, search_range, entry_selector, range_shift, *pairs =
16
- attributes.delete(:data).unpack("n*")
17
-
18
- @pairs = {}
19
- num_pairs.times do |i|
20
- break if i*3+2 > pairs.length # sanity check, in case there's a bad length somewhere
21
- left = pairs[i*3]
22
- right = pairs[i*3+1]
23
- value = to_signed(pairs[i*3+2])
24
- @pairs[[left, right]] = value
25
- end
26
- end
27
-
28
- def vertical?
29
- @attributes[:vertical]
30
- end
31
-
32
- def horizontal?
33
- !vertical?
34
- end
35
-
36
- def cross_stream?
37
- @attributes[:cross]
38
- end
39
-
40
- def recode(mapping)
41
- subset = []
42
- pairs.each do |(left, right), value|
43
- if mapping[left] && mapping[right]
44
- subset << [mapping[left], mapping[right], value]
45
- end
46
- end
47
-
48
- return nil if subset.empty?
49
-
50
- num_pairs = subset.length
51
- search_range = 2 * 2 ** (Math.log(num_pairs) / Math.log(2)).to_i
52
- entry_selector = (Math.log(search_range / 2) / Math.log(2)).to_i
53
- range_shift = (2 * num_pairs) - search_range
54
-
55
- [attributes[:version], num_pairs * 6 + 14, attributes[:coverage],
56
- num_pairs, search_range, entry_selector, range_shift, subset].
57
- flatten.pack("n*")
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,43 +0,0 @@
1
- require 'ttfunk/table'
2
-
3
- module TTFunk
4
- class Table
5
- class Loca < Table
6
- attr_reader :offsets
7
-
8
- # Accepts an array of offsets, with each index corresponding to the
9
- # glyph id with that index.
10
- #
11
- # Returns a hash containing:
12
- #
13
- # * :table - the string representing the table's contents
14
- # * :type - the type of offset (to be encoded in the 'head' table)
15
- def self.encode(offsets)
16
- if offsets.any? { |ofs| ofs > 0xFFFF }
17
- { :type => 1, :table => offsets.pack("N*") }
18
- else
19
- { :type => 0, :table => offsets.map { |o| o/2 }.pack("n*") }
20
- end
21
- end
22
-
23
- def index_of(glyph_id)
24
- @offsets[glyph_id]
25
- end
26
-
27
- def size_of(glyph_id)
28
- @offsets[glyph_id+1] - @offsets[glyph_id]
29
- end
30
-
31
- private
32
-
33
- def parse!
34
- type = file.header.index_to_loc_format == 0 ? "n" : "N"
35
- @offsets = read(length, "#{type}*")
36
-
37
- if file.header.index_to_loc_format == 0
38
- @offsets.map! { |v| v * 2 }
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,40 +0,0 @@
1
- require 'ttfunk/table'
2
-
3
- module TTFunk
4
- class Table
5
- class Maxp < Table
6
- attr_reader :version
7
- attr_reader :num_glyphs
8
- attr_reader :max_points
9
- attr_reader :max_contours
10
- attr_reader :max_component_points
11
- attr_reader :max_component_contours
12
- attr_reader :max_zones
13
- attr_reader :max_twilight_points
14
- attr_reader :max_storage
15
- attr_reader :max_function_defs
16
- attr_reader :max_instruction_defs
17
- attr_reader :max_stack_elements
18
- attr_reader :max_size_of_instructions
19
- attr_reader :max_component_elements
20
- attr_reader :max_component_depth
21
-
22
- def self.encode(maxp, mapping)
23
- num_glyphs = mapping.length
24
- raw = maxp.raw
25
- raw[4,2] = [num_glyphs].pack("n")
26
- return raw
27
- end
28
-
29
- private
30
-
31
- def parse!
32
- @version, @num_glyphs, @max_points, @max_contours, @max_component_points,
33
- @max_component_contours, @max_zones, @max_twilight_points, @max_storage,
34
- @max_function_defs, @max_instruction_defs, @max_stack_elements,
35
- @max_size_of_instructions, @max_component_elements, @max_component_depth =
36
- read(length, "Nn*")
37
- end
38
- end
39
- end
40
- end